Булеві оператори
Основні Булеві оператори також розпізнаються в MYSQL. Вирази Буля - є або вірними або невірними, подібно до предикатів. Булеві оператори зв'язують одне або більш правдивих/неправдивих значень і повертають єдине вірне або невірне значення. Стандартними операторами Буля розпізнаваними в SQL є: and,or і NOT.
Припустимо ви хочете отримати всіх замовників в Далласі, які мають рейтинг вище 200:
SELECT * FROM Customers WHERE city = 'Dallas' AND rating > 200;
При використанні оператора And, повинні бути виконані обидві умови, тобто повинні бути вибрані всі замовники з Далласа, рейтинг яких більше 200.
При використанні оператора Or, повинне виконуватися одна з умов. Наприклад:
SELECT * FROM Customers WHERE city = 'Dallas ' OR rating > 200;
В даному випадку будуть вибрані всі замовники з Далласа і ті що мають рейтинг більше 200, навіть якщо вони і не з Далласа.
NOT може використовуватися для інвертування значень Буля. Приклад запиту з NOT:
SELECT * FROM Customers WHERE city = 'Dallas' OR NOT rating > 200;
При такому запиті будуть вибрані всі замовники з Далласа і всі замовники, рейтинг яких менше 200. В цьому запиті оператор NOT застосовується тільки до виразу rating >200. Можна зробити складніший запит:
SELECT * FROM Customers WHERE NOT( city = 'Dallas' OR rating > 200 );
У цьому запиті NOT застосований до обох виразів в дужках. В даному випадку, сервер зчитує вирази в дужках, визначає, чи відповідає істині рівність city = 'Dallas' або рівність rating > 200. Якщо будь-яка умова вірна, вираз Буля всередині дужок теж вірний. Але, якщо вираз Буля усередині дужок вірний, предикат є невірним, тому що NOT перетворить вірність в невірність і навпаки. Тобто, будуть вибрані всі замовники що не знаходяться в Далласі і рейтинг яких менше 200.