Ознайомлення з оператором WHERE в MySQL
У сьогоднішньому уроці ми розглянемо на практиці те, як використовувати умову WHERE в операторі SELECT для фільтрації рядків з набору результатів в MySQL.
Основи використання умови WHERE в MySQL
Умова WHERE
дозволяє задати умову пошуку для рядків, які повертаються в запиті. Нижче показаний синтаксис умови WHERE
:
SELECT select_query FROM table_name WHERE condition;
Умова condition
– це комбінація одного або декількох тверджень, які використовують логічний оператор AND
, OR
і NOT
.
В MySQL твердження (предикат) – це логічний вираз, який оцінюється як TRUE
, FALSE
або UNKNOWN
.
Будь-який рядок з table_name
, який призводить до того, що condition
оцінюється як TRUE
, буде включений в остаточний набір результатів.
Крім оператора SELECT, ви можете використовувати умову WHERE
в операторі UPDATE
або DELETE
, щоб вказати, які рядки потрібно оновити або видалити.
В операторі SELECT
умова WHERE
оцінюється після умови FROM
і перед умовою SELECT
.
Приклади умови WHERE в MySQL
Приклад №1: Використання умови WHERE з оператором рівності
У наступному запиті використовується умова WHERE
для пошуку всіх співробітників, назви посад яких є Менеджер:
SELECT lastname, firstname, posada FROM spivrobitniki WHERE posada = 'Менеджер';
У цьому прикладі інструкція SELECT
перевіряє всі рядки таблиці співробітників і вибирає тільки рядок, значення якого в стовпці posada
дорівнює Менеджер.
Приклад №2: Використання умови WHERE з оператором AND
У наступному прикладі використовується умова WHERE
для пошуку співробітників, назви посад яких є Менеджер, а службові коди рівні 1:
SELECT lastname, firstname, posada, officeKod FROM spivrobitniki WHERE posada = 'Менеджер' AND officeKod = 1;
У цьому прикладі вираз у реченні WHERE
використовує оператор AND
для об’єднання двох умов:
posada = 'Менеджер' AND officeKod = 1;
Оператор AND
оцінюється як ІСТИНА (TRUE
), тільки якщо обидва вирази мають значення TRUE
. Тому запит повертає рядки, значення яких в стовпці posada
рівні Менеджер, а officeKod
дорівнює 1.
Приклад №3: Використання умови WHERE з оператором OR
Цей запит знаходить співробітників, назва посади яких є Менеджер, або співробітників, які мають офісний код 1:
SELECT lastName, firstName, posada, officeKod FROM spivrobitniki WHERE posada = 'Менеджер' OR officeKod = 1;
Оператор OR
оцінюється як ІСТИНА, тільки якщо один з виразів має значення TRUE
:
posada = 'Менеджер' OR officeKod = 1
Таким чином, запит повертає будь-якого співробітника, у якого посада є Менеджер або офісний код 1.
Приклад №4: Використання WHERE з оператором BETWEEN
Оператор BETWEEN
повертає TRUE
, якщо значення знаходиться в діапазоні значень:
expression BETWEEN low AND high
Наступний запит знаходить співробітників, які знаходяться в офісах з офісним кодом від 1 до 3:
SELECT firstName, lastName, officeKod FROM spivrobitniki WHERE officeKod BETWEEN 1 AND 3 ORDER BY officeKod;
Приклад №5: Використання WHERE з оператором LIKE
Оператор LIKE
оцінюється як ІСТИНА, якщо значення відповідає вказаному шаблону. Щоб сформувати шаблон, ви використовуєте %
і _
знаки підстановки. Знак підстановки %
відповідає будь-якому рядку, що складається з нуля або більше символів, а знак підстановки _
відповідає будь-якому окремому символу.
Цей запит знаходить співробітників, чиї прізвища закінчуються рядком «ко»:
SELECT firstName, lastName FROM spivrobitniki WHERE lastName LIKE '%ко';
Приклад №6: Використання умови WHERE з оператором IN
Оператор IN
повертає TRUE
, якщо значення відповідає будь-якому значенню в списку.
value IN (value1, value2, ...)
У наступному прикладі використовується умова WHERE
з оператором IN
для пошуку співробітників, які знаходяться в офісі з офісними кодами 1, 2 або 3.
SELECT firstName, lastName, officeKod FROM spivrobitniki WHERE officeKod IN (1, 2, 3);
Приклад №7: Використання умови WHERE з оператором IS NULL
Щоб перевірити, чи є значення NULL
чи ні, ви використовуєте оператор IS NULL
, а не оператор рівності (=). Оператор IS NULL
повертає TRUE
, якщо значення дорівнює NULL
.
value IS NULL
У світі баз даних NULL
– це маркер, який вказує, що частина інформації відсутня або невідома. Це не еквівалентно числу 0 або порожньому рядку.
Цей оператор використовує умову WHERE
з оператором IS NULL
, щоб отримати рядок, значення якого в стовпці officeKod
дорівнює NULL
:
SELECT lastName, firstName, officeKod FROM spivrobitniki WHERE officeKod IS NULL;
З сьогоднішнього уроку ви дізналися, як на практиці використовувати умову WHERE
в MySQL для фільтрації рядків результатів за необхідними критеріями.
Останні пости
Як вибрати ідеальний ноутбук: Повний гайд
Вибір ноутбука може бути складним завданням у світі, де ринок переповнений варіантами на будь-який смак… Читати далі
Томас Едісон
Наш великий недолік в тому, що ми занадто швидко опускаємо руки. Найбільш діючий метод досягти… Читати далі
Найкрасивіші та найбільш вражаючі мости з усього світу (ТОП-10)
Міст — це щось більше, ніж просто споруда, яка поєднує два береги. Для того, щоб… Читати далі
Соломон
Життя нас вчить, що свою пару ми пізнаємо, коли розлучаємося, своїх братів ми пізнаємо, коли… Читати далі
Річард Бах
Жодне бажання не дається тобі окремо від сили, що дозволяє його здійснити. Хоча, можливо, для… Читати далі