В этом учебном материале вы узнаете, как использовать вместе условия AND и OR в SQL запросе с синтаксисом и примерами.
Описание
Oracle условия AND и OR могут быть объединены в операторах SELECT, INSERT, UPDATE или DELETE.
При комбинировании этих условий, важно использовать круглые скобки, чтобы база данных знала, как оценивать каждое условие
Синтаксис
Синтаксис условий AND и OR в Oracle/PLSQL:
AND condition2
...
OR condition_n;
Параметры или аргументы
condition1, condition2, ... condition_n
Условия, которые определяют выбранные записи.
Примечание
- Oracle условия AND и OR позволяют проверять несколько условий.
- Не забывайте о порядке операций со скобками!
Пример с оператором SELECT
Рассмотрим пример, который сочетает в себе условия AND и OR в операторе SELECT.
Например:
1 2 3 4 |
SELECT * FROM suppliers WHERE (state = 'Nevada' AND supplier_name = 'INTEL') OR (supplier_id < 5000); |
Этот пример AND и OR возвратил бы всех suppliers, которые находятся в state ‘Nevada’, чьи supplier_name является ‘INTEL’ и все suppliers, чьи supplier_id меньше 5000. Скобки определяют порядок оценки условий AND и OR.
Следующий пример рассмотрит более сложное предложение.
Например:
1 2 3 4 5 |
SELECT supplier_id FROM suppliers WHERE (supplier_name = 'INTEL') OR (supplier_name = 'Apple' AND state = 'Florida') OR (supplier_name = 'Best Buy' AND status = 'Active' AND state = 'California'); |
Этот пример AND и OR возвратит все значения supplier_id, где supplier_name является ‘INTEL’ ИЛИ supplier_name является ‘Apple’ И state ‘Florida’ ИЛИ supplier_name является ‘Best Buy’ И status ‘Active’ И state ‘California’.
Пример оператора INSERT
Следующий пример показывает, как условия AND и OR могут быть объединены в операторе INSERT.
Например:
1 2 3 4 5 6 |
INSERT INTO suppliers (supplier_id, supplier_name) SELECT account_no, customer_name FROM customers WHERE (customer_name = 'Nike' OR customer_name = 'Adidas') AND customer_id > 25; |
Этот пример может вставить в таблицу customers, все записи account_no и customer_name из таблицы customers, чьи customer_name являются ‘Nike’ ИЛИ ‘Adidas’, и где customer_id больше 25.
Пример с оператором UPDATE
Этот пример показывает, как условия AND и OR могут быть использованы в операторе UPDATE.
Например:
1 2 3 4 |
UPDATE suppliers SET supplier_name = 'Nokia' WHERE supplier_name = 'Fly' AND (state = 'California' OR state = 'Florida'); |
Этот пример Oracle условий AND и OR обновит все значения поля supplier_name в таблице suppliers на ‘Nokia’, где supplier_name было ‘Fly’ и местонахождение, которого в одном из двух state 'California' ИЛИ 'Florida'.
Пример с оператором DELETE
И, наконец, пример AND и OR который показывает, как условия AND и OR могут быть использованы в DELETE.
Например:
1 2 3 |
DELETE FROM suppliers WHERE state = 'Nevada' AND (product = 'laptop' OR supplier_name = 'Asus'); |
Этот пример Oracle условий AND и OR удалит все записи из таблицы suppliers, которые находились в state ‘Nevada’ и у которых product был ‘laptop’ или supplier_name было ‘Asus’.