Оператори порівняння і логічні оператори в mysql

Оператори порівняння

Оператори порівняння використовуються для порівняння значення стовпців в таблицях, виразів, констант. Порівнювані значення можуть належати різним типам даних. Результатом порівняння може бути - 1 (істина, TRUE), 0 (брехня, FALSE) або NULL.

NULL - невизначене значення що не належить ні до одного типу даних, відповідає поняттю нічого, це значення нерівно нулю і нерівно порожній рядку. Порівняння будь-яких значень з NULL видасть результат NULL.

Оператор рівності (=)

X = Y повертає значення:

TRUE - якщо X збігається з Y.

FALSE - якщо X не збігається з Y.

NULL - якщо один або два операнда рівні NULL.

Вибирає рядки, в яких значення в стовпці name1 одно data, при порівнянні рядків регістр символів не враховується.

Оператор рівності ( <=> ) NULL-безпечне порівняння

X <=> Y повертає значення:

TRUE - якщо X і Y рівні NULL.

FALSE - якщо X або Y дорівнює NULL.

Якщо X і Y не рівні NULL, даний оператор повертає значення ідентичні оператору X = Y.

Оператор (IS) або (IS NOT)

X IS TRUE повертає значення:

TRUE - якщо X неравен нулю або нульовий датою.

FALSE - в інших випадках.

X IS NOT TRUE повертає значення:

FALSE - якщо X неравен нулю або нульовий датою.

TRUE - в інших випадках.

X IS FALSE повертає значення:

TRUE - якщо X дорівнює нулю або нульовий датою.

FALSE - в інших випадках.

X IS NOT FALSE повертає значення:

FALSE - якщо X дорівнює нулю, або нульовий датою.

TRUE - в інших випадках.

X IS UNKNOWN або X IS NULL повертає значення:

TRUE - якщо X дорівнює NULL.

FALSE - в інших випадках.

X IS NOT UNKNOWN або X IS NOT NULL повертає значення:

FALSE - якщо X дорівнює NULL.

TRUE - в інших випадках.

Оператори IS і IS NOT в результаті порівняння повертають протилежні результати.

Оператор не дорівнює (X! = Y)

X <> Y - другий варіант запису X! = Y.

X! = Y повертає значення:

TRUE - якщо X і Y не рівні.

FALSE - якщо X і Y рівні.

NULL - якщо X або Y дорівнює NULL.

Оператор менше ( <) или больше (> )

X

TRUE - якщо X менше Y.

FALSE - якщо X дорівнює Y або X більше Y.

NULL - якщо X або Y дорівнює NULL.

X> Y повертає значення:

TRUE - якщо X більше Y;

FALSE - якщо X одно Y або X менше Y;

NULL - якщо X або Y дорівнює NULL.

Оператор менше або дорівнює ( <= ) или больше или равно (>=)

X <= Y возвращает значения:

TRUE - якщо X одно Y або X менше Y.

FALSE - якщо X більше Y.

NULL - якщо X або Y дорівнює NULL.

X> = Y повертає значення:

TRUE - якщо X одно Y або X більше Y.

FALSE - якщо X менше Y.

NULL - якщо X або Y дорівнює NULL.

Оператор між (BETWEEN a AND b) або за межами (NOT BETWEEN a AND b)

X BETWEEN a AND b повертає значення:

TRUE - якщо a

FALSE - якщо X менше a або більше b;

NULL - в інших випадках.

X NOT BETWEEN a AND b повертає значення:

TRUE - якщо X менше a або більше b;

FALSE - якщо a

NULL - в інших випадках.

Першим запитом вибираються рядки з таблиці testtable, в яких значення в стовпці id лежить в діапазоні від 80 до 84. Другим запитом вибираються всі рядки з таблиці testtable, крім тих рядків, значення яких в стовпці id лежить в діапазоні від 80 до 84.

Оператор міститься (IN) або не міститься (NOT IN)

X IN (N1, ..., Nn) повертає значення:

TRUE - якщо X збігається з одним з елементів списку (N1, ..., Nn).

FALSE - якщо X не збігається ні з одним з елементів списку (N1, ..., Nn).

NULL - якщо X дорівнює NULL або коли в списку присутній значення NULL і при цьому X не збігається ні з одним з елементів списку.

X NOT IN (N1, ..., Nn) повертає значення:

TRUE - якщо X не збігається ні з одним з елементів списку.

FALSE - якщо X збігається з одним з елементів списку.

NULL - якщо X дорівнює NULL або коли в списку присутній значення NULL і при цьому X не збігається ні з одним з елементів списку.

Першим запитом вибираються рядки з таблиці testtable, в яких значення в стовпці id дорівнює 2, 5 і 8. Другим запитом вибираються всі рядки з таблиці testtable, крім тих рядків, значення яких в стовпці id дорівнює 2 і 5.

Оператор відповідність шаблону (LIKE) або не відповідає шаблони (NOT LIKE)

X LIKE Y повертає значення:

TRUE - якщо X відповідає шаблоном.

FALSE - якщо X не відповідає шаблоном.

NULL - якщо X або Y дорівнює NULL.

X NOT LIKE Y повертає значення:

FALSE - якщо X відповідає шаблоном.

TRUE - якщо X не відповідає шаблоном.

NULL - якщо X або Y дорівнює NULL.

Можна використовувати спеціальні групові символи в шаблоні:

% - відповідає будь-якій довільній послідовності символів.

_ - відповідає одному довільному символу.

Якщо ці символи треба використовувати не як спеціальні групові символи, а як звичайні символи, перед ними потрібно поставити символ зворотної косої риски (\%), (\ _) а якщо хочемо використовувати символ зворотної косої межі, то використовуємо ще одну зворотну косу риску ( \\). Символи введені великими та малими буквами вважаються однаковими, однак існує можливість розрізняти ці символи, для цього використовуємо BINARY LIKE і BINARY NOT LIKE.

Першим запитом вибираються рядки з таблиці testtable, в яких значення в стовпці id містить символи 55. Другим запитом вибираються всі рядки з таблиці testtable, крім тих рядків, значення яких в стовпці id містить символи kk, причому символ k повинен бути обов'язково рядкової буквою.

Оператор порівняння рядків STRCMP (X, Y)

STRCMP (X, Y) повертає:

- 1 - якщо X передує Y в алфавітному порядку.

0 - якщо X і Y збігаються.

1 - якщо X слід після Y в алфавітному порядку.

NULL - якщо X або Y дорівнює NULL.

Логічні оператори

На основі логічних операторів можна побудувати складні умова відбору з використанням операторів порівняння. Результатом роботи логічних операторів може бути - 1 (істина, TRUE), 0 (брехня, FALSE) або NULL.

Оператор логічне і (AND)

- другий варіант запису AND.

X AND Y повертає:

TRUE - якщо X і Y істинні значення.

FALSE - якщо (X або Y) або (X і Y) помилкові значення.

NULL - в інших випадках.

Цим запитом вибираються рядки з таблиці testtable, в яких значення в стовпці name1 одно A5, а в стовпці name2 одно С8.

Оператор логічне або (OR)

|| - другий варіант запису OR.

X OR Y повертає значення:

TRUE - якщо (X або Y) або (X і Y) істинні значення.

FALSE - якщо X і Y помилкові значення.

NULL - в інших випадках.

Цим запитом вибираються рядки з таблиці testtable, в яких значення в стовпці name1 одно A5 або значення в стовпці name2 одно С8.

Оператор логічне виключає або (XOR)

X XOR Y повертає значення:

TRUE - якщо X справжнє, а Y помилкове або навпаки.

FALSE - якщо X і Y істинні значення, або помилкові.

NULL - якщо X або Y дорівнює NULL.

Цей запит виводить рядки з таблиці testtable, в яких значення в стовпці name1 одно F5. і ті рядки значення в стовпці name2 одно H7, що не виводяться рядки, в яких ці умови виконуються одночасно.

Оператор логічне ні (NOT)

- другий варіант запису NOT.

> NOT X повертає значення:

TRUE - якщо X помилкове значення.

FALSE - якщо X справжнє значення.

NULL - якщо X дорівнює NULL.

Цим запитом вибираються всі рядки з таблиці testtable, за винятком рядків в яких значення в стовпці name одно G7.

На цьому все. Бувайте усі.