Ознайомлення з оператором WHERE в MySQL

Ознайомлення з оператором 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 для фільтрації рядків результатів за необхідними критеріями.

 



Напишіть тут свою думку/питання

Ваша пошта не публікуватиметься. Обов’язкові поля позначені *