В этом учебном пособии вы узнаете, как использовать условие AND и условие OR вместе в одном запросе SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
Условие AND и OR в SQL Server (Transact-SQL) могут быть объединены в операторах SELECT, INSERT, UPDATE или DELETE.
При объединении этих условий важно использовать круглые скобки, чтобы база данных знала, в каком порядке оценивать каждое условие.
Синтаксис
Синтаксис условия AND и условия OR в SQL Server (Transact-SQL):
AND condition2
...
OR condition_n;
Параметры или аргументы
condition1, condition2, ... condition_n - условия, которые оцениваются, чтобы определить, будут ли выбраны записи.
Примечание
- Условия SQL Server AND и OR позволяют вам тестировать несколько условий.
- Не забывайте порядок скобок для операций!
Пример оператора SELECT
Рассмотрим пример, который объединяет условия AND и OR в операторе SELECT.
Например:
1 2 3 4 |
SELECT * FROM employees WHERE (last_name = 'Marlos' AND first_name = 'Lora') OR (employee_id = 75); |
Этот пример AND и OR возвратит всех employees (сотрудников), чье last_name - 'Marlos', а first_name - 'Lora', а также все сотрудники, чей employee_id равен 75. Скобки определяют порядок оценки условий AND и OR.
В следующем примере рассматривается более сложный оператор.
Например:
1 2 3 4 5 |
SELECT employee_id, last_name, first_name FROM employees WHERE (last_name = 'Jackson') OR (last_name = 'Marlos' AND first_name = 'Lora') OR (employee_id > 4000 and state = 'Nevada'); |
Этот пример AND и OR возвращает все значения employee_id, last_name и first_name, где last_name - 'Jackson', или last_name - 'Marlos', а first_name - 'Lora', или employee_id больше 4000, а state (штат) - 'Nevada'.
Пример оператора INSERT
Следующий пример AND и OR демонстрирует, как условие AND и условие OR могут быть объединены в операторе INSERT.
Например:
1 2 3 4 5 6 |
INSERT INTO contacts (last_name, first_name) SELECT last_name, first_name FROM employees WHERE (last_name = 'Jackson' OR 'last_name = 'Marlos') AND employee_id > 39; |
Этот пример SQL Server AND и OR будет вставляться в таблицу contacts, все значения last_name и first_name из таблицы employee, last_name которой является либо 'Jackson', либо 'Marlos' и где employee_id больше 39.
Пример оператора UPDATE
Этот пример AND и OR показывает, как условия AND и OR могут использоваться в операторе UPDATE.
Например:
1 2 3 4 |
UPDATE employees SET last_name = 'Marlos' WHERE employee_id <= 3900 AND (state = 'Nevada' OR state = 'Maine'); |
Этот пример SQL Server AND и OR обновил бы все значения last_name в таблице employees до 'Marlos', где employee_id меньше или равно 3900 и которые находится в state (штате) 'Nevada' или 'Maine'.
Пример оператора DELETE
Наконец, этот последний пример AND и OR демонстрирует, как условия AND и OR могут использоваться в операторе DELETE.
Например:
1 2 3 |
DELETE FROM employees WHERE state = 'Nevada' AND (last_name = 'Marlos' OR first_name = 'Lora'); |
Этот пример SQL Server AND и OR удалит все записи из таблицы employees, где state (штат) 'Nevada' и либо last_name - 'Marlos', либо first_name - 'Lora'.