Із сьогоднішньої практичної статті ви дізнаєтеся, як за допомогою операторів AND і OR в MySQL об’єднувати кілька логічних виразів для фільтрації результатів в базі даних.
Оператор AND (І) – це логічний оператор, який об’єднує два або більше логічних вирази і повертає true (істина), тільки якщо обидва вирази мають значення true. Оператор AND повертає false (хиба), якщо одне з двох виразів оцінюється як false.
Нижче представлений синтаксис оператора AND:
логічний_вираз_1 AND логічний_вираз_2
Логічний вираз – це булевий вираз, тобто, вираз, результатом якого є або ІСТИНА (true), або ХИБА (false), або NULL.
У цій табличці показано результати оператора AND при різних комбінаціях з true, false і null.
| TRUE | FALSE | NULL | |
|---|---|---|---|
| TRUE | TRUE | FALSE | NULL |
| FALSE | FALSE | FALSE | FALSE |
| NULL | NULL | FALSE | NULL |
Оператор AND часто використовується в умові WHERE операторів SELECT, UPDATE, DELETE для формування більш детальної умови. Оператор AND також використовується в умовах приєднання виразів INNER JOIN та LEFT JOIN.
При оцінці виразу з оператором AND, MySQL зупиняє оцінку решти частин умови щоразу, коли він може визначити результат. Ця функція називається оцінкою короткого замикання.
Розглянемо наступний приклад.
SELECT 1 = 0 AND 1 / 0;
Зверніть увагу, що в MySQL нуль вважається хибним (false), а ненульове значення вважається істиною (true).
В результаті оцінки короткого замикання, MySQL буде оцінювати тільки першу частину виразу (1 = 0). Оскільки вираз 1 = 0 повертає false, MySQL може завершити оцінку всього виразу, результатом якого буде false. MySQL не буде оцінювати решту виразу (1 / 0). Якщо ж це було б не так, тоді ви отримаєте помилку, оскільки не можна ділити на нуль.
У наступному запиті оператор AND використовується для пошуку автомобілів, які випускаються і в Німеччині, і в США:
SELECT cars, country FROM cars WHERE country = 'Germany' AND country = 'USA';
Використовуючи оператор AND, ви можете комбінувати й більше двох логічних виразів.
Оператор OR (АБО) в MySQL об’єднує два логічних вирази і повертає true, коли будь-яка з цих умов виконується.
Нижче показаний синтаксис оператора OR:
логічний_вираз_1 OR логічний_вираз_2
І логічний_вираз_1, і логічний_вираз_2 є булевим типом виразу, яке повертає true, false або NULL.
У цій табличці показано результати оператора OR при різних комбінаціях з true, false і null.
| TRUE | FALSE | NULL | |
| TRUE | TRUE | TRUE | TRUE |
| FALSE | TRUE | FALSE | NULL |
| NULL | TRUE | NULL | NULL |
MySQL використовує оцінку короткого замикання також і для оператора OR (АБО). Іншими словами, MySQL перестає оцінювати іншу частину оператора, коли він може визначити результат.
Давайте розглянемо наступний приклад запиту:
SELECT 1 = 1 OR 1 / 0;
Оскільки вираз 1 = 1 завжди повертає true, MySQL не буде оцінювати вираз 1 / 0. Якщо ж це станеться, він видасть помилку ділення на нуль.
Коли ви використовуєте більше одного логічного оператора у виразі, MySQL завжди оцінює оператори OR після операторів AND. Це називається пріоритет оператора, який визначає порядок оцінки операторів. MySQL спочатку оцінює оператор з більш високим пріоритетом.
Давайте розглянемо наступний приклад:
SELECT true OR false AND false;
Як це працює:
AND, тому вираз false AND false повертає false.OR, тому вираз true OR false повертає true.
Щоб змінити порядок оцінки, використовуйте круглі дужки, наприклад так:
SELECT (true OR false) AND false;
Як це працює:
(true OR false) і повертає truetrue AND false і повертає false.
У наступному запиті оператор OR використовується для пошуку автомобілів, які випускаються або в Німеччині, або в США:
SELECT cars, country FROM cars WHERE country = 'Germany' OR country = 'USA';
В результаті цього запиту ви отримаєте значення бази даних по автомобілях, які випускаються або в Німеччині, або в США.
В результаті наступного запиту ви отримаєте значення бази даних по автомобілях, які випускаються або в Німеччині, або в США, а також мають ціну більше 20 тис. доларів.
SELECT cars, country, carPrice FROM cars WHERE(country = 'Germany' OR country = 'USA') AND carPrice > 20000;
Із сьогоднішньої практичної статті ви дізналися, як використовувати оператори AND і OR в MySQL, щоб об’єднувати кілька логічних виразів для фільтрації результатів в базі даних.
20 травня 2026 року офіційно відбувся реліз довгоочікуваної мажорної версії WordPress 7.0 «Armstrong», названої на…
Кожен власник сайту та SEO-спеціаліст веде щоденну запеклу боротьбу за утримання користувача на сторінках вебресурсу.…
Футбольна секція швидко показує, наскільки взуття підходить дитині. Якщо пара ковзає, тисне або погано чіпляється…
Компанія Samsung - один із лідерів на ринку електроніки. Її смартфони вирізняються надійністю, якісними дисплеями,…
Іспанська мова приваблює мільйони людей своєю мелодійністю, емоційністю та відносною простотою вивчення. Одним із найважливіших…
Робочий простір давно перестав бути просто столом із ПК/ноутбуком. Сьогодні це повноцінна екосистема, де кожна…