Операторы AND & OR используются для объединения нескольких условий для фильтрации данных в операторе SQL. Эти два оператора называют еще операторами соединения.
Эти операторы дают возможность сделать несколько сравнений с различными операторами в одном операторе SQL.
Оператор AND допускает существование нескольких условий в SQL — инструкции WHERE.
Базовый синтаксис и оператор с пунктом WHERE выглядит следующим образом —
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN];
Вы можете объединить N число условий с использованием оператора. Для действия, которым необходимо принять заявление SQL, будь то транзакция или запрос, все условия, которые отделены друг от друга с помощью AND должно быть TRUE.
Рассмотрим таблицу клиентов, имеющих следующие записи:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Moscow | 21000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 5 | Ruslan | 34 | Omsk | 43000.00 | | 6 | Dima | 32 | SP | 45000.00 | | 7 | Roma | 34 | SP | 10000.00 | +----+----------+-----+-----------+----------+
Ниже приведен пример, который получит поля ID, NAME и SALARY из таблицы CUSTOMER, у кого зарплата больше, чем 44000, а возраст составляет менее 35 лет —
SQL> SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE SALARY > 44000 AND age < 35;
Это произведет следующий результат —
+----+----------+----------+ | ID | NAME | SALARY | +----+----------+----------+ | 2 | AndreyEx | 55500.00 | | 6 | Dima | 45000.00 | +----+----------+----------+
Оператор OR используется для объединения нескольких условий в SQL-инструкции WHERE.
Базовый синтаксис оператора OR с пунктом WHERE следующий:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN]
Вы можете объединить N число условий с помощью оператора OR. Для действий, которые необходимо принять заявление SQL, будь то транзакция или запрос, только какое-либо одно из условий, разделенных OR должен быть TRUE.
Рассмотрим таблицу клиентов, имеющих следующие записи:
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Maxim | 35 | Moscow | 21000.00 | | 2 | AndreyEx | 38 | Krasnodar | 55500.00 | | 3 | Oleg | 33 | Rostov | 34000.00 | | 4 | Masha | 35 | Moscow | 31500.00 | | 5 | Ruslan | 34 | Omsk | 43000.00 | | 6 | Dima | 32 | SP | 45000.00 | | 7 | Roma | 34 | SP | 10000.00 | +----+----------+-----+-----------+----------+
Следующий блок запроса, получит поля ID, NAME и SALARY из таблицы CUSTOMER, у кого зарплата больше, чем 43000, а возраст составляет менее 34 лет.
SQL> SELECT ID, NAME, SALARY FROM CUSTOMERS WHERE SALARY > 43000 OR age < 34;
Это покажет следующий результат:
+----+----------+----------+ | ID | NAME | SALARY | +----+----------+----------+ | 2 | AndreyEx | 55500.00 | | 3 | Oleg | 34000.00 | | 6 | Dima | 45000.00 | +----+----------+----------+