AND & OR
Операторы AND & OR используются для составления условий в запросах.
Описание операторов AND & OR в SQL
AND — оператор, который отображает только те записи, когда первое и второе условие является правдой / true.
AND — оператор, который отображает только те записи, когда первое и второе условие является правдой / true.
OR — оператор, который отображает только те записи, когда хотя бы одно из двух условий является правдой / true.
Поскольку допускается наличие в базе данных неопределенных значений, то вычисление условия поиска производится не в булевой, а в трехзначной логике со значениями true, false и unknown (неизвестно). Для любого предиката известно, в каких ситуациях он может порождать значение unknown. Булевские операции AND, OR и NOT работают в трехзначной логике следующим образом:
Значение | Операция | Значение | Результат |
---|---|---|---|
true | AND | unknown | unknown |
unknown | AND | true | unknown |
unknown | AND | unknown | unknown |
true | OR | unknown | true |
unknown | OR | true | true |
unknown | OR | unknown | unknown |
NOT | unknown | unknown |
Пример оператора AND
Пример 1. Выборка (SELECT) записи, где поле fname равно ‘Ivan’ AND(и) поле lname равно ‘Abrakov’.
SELECT * FROM table_name WHERE fname=’Ivan’ AND lname=’Abrakov’;
Пример оператора OR
Пример 2. Выборка (SELECT) записи, где поле fname равно ‘Ivan’ OR(или) поле fname равно ‘Alex’.
SELECT * FROM table_name WHERE fname=’Ivan’ OR fname=’Alex’;
Пример комбинирования AND & OR
Пример 3. Выборка (SELECT) записи, которые соответствуют условию: поле lname должно быть равно ‘Abrakov’ AND(и) поле fname должно принимать значение ‘Ivan’ OR(или) значение ‘Alex’.
SELECT * FROM table_name WHERE lname=’Abrakov’ AND (fname=’Ivan’ ORfname=’Alex’);