В этом учебном пособии вы узнаете, как использовать условие AND и условие OR вместе в одном запросе MySQL с синтаксисом и примерами.
Описание
MySQL условия AND и OR могут комбинироваться в операторах SELECT, INSERT, UPDATE или DELETE.
При комбинировании этих условий важно использовать круглые скобки, чтобы база данных знала, в каком порядке оценивать каждое условие.
Синтаксис
Синтаксис условия AND и условия OR в MySQL:
AND condition2
...
OR condition_n;
Параметры или аргументы
condition1, condition2, ... condition_n - условия, которые оцениваются, для определения записей в результирующий набор.
Примечание
- MySQL условия AND и OR позволяют вам проверять несколько условий.
- Не забывайте порядок скобок для операций!
Пример с оператором SELECT
Рассмотрим пример, который комбинирует условия AND и OR в операторе SELECT.
Например:
1 2 3 4 |
SELECT * FROM customers WHERE (state = 'Nevada' AND last_name = 'Bubnovsky') OR (customer_id > 4500); |
Этот пример AND и OR возвратит всех записи таблицы customers, которые находятся в state = Nevada, чьи last_name это 'Bubnovsky' или все customers, чьи customer_id больше 4500. Скобки определяют порядок оценки условий AND и OR.
В следующем примере рассматривается более сложный оператор.
Например:
1 2 3 4 5 |
SELECT customer_id, last_name, first_name FROM customers WHERE (last_name = 'Bubnovsky') OR (last_name = 'Bubson' AND state = 'Nevada') OR (last_name = 'Bernard' AND status = 'Active' AND state = 'Georgia'); |
Этот пример AND и OR возвратит все значения customer_id, last_name и first_name из таблицы customers, last_name которого является 'Bubnovsky' или, чье last_name является 'Bubson' и state = 'Nevada' или, чье last_name - это 'Bernard', status = 'Active' и state = 'Georgia'.
Пример с оператором INSERT
Следующий пример AND и OR демонстрирует, как условие AND и условие OR могут быть объединены в операторе INSERT.
Например:
1 2 3 4 5 6 |
INSERT INTO suppliers (supplier_id, supplier_name) SELECT customer_id, customer_name FROM customers WHERE (customer_name = 'Dell' OR customer_name = 'Nokia') AND customer_id >= 300; |
Этот пример MySQL AND и OR будет вставляться в таблицу suppliers, все записи customer_id и customer_name из таблицы customers, customer_name которой - это 'Dell' или 'Nokia', и где customer_id больше или равно 300.
Пример с оператором UPDATE
Этот пример AND и OR показывает, как условия AND и OR могут использоваться в операторе UPDATE.
Например:
1 2 3 4 |
UPDATE contacts SET last_name = 'Bubnovsky' WHERE last_name = 'Boyson' AND (state = 'Nevada' OR state = 'Georgia'); |
Этот пример условия MySQL AND и OR обновил бы все значения last_name в таблице contacts в 'Bubnovsky', где last_name было бы 'Boyson' и проживал либо в state (штате) 'Nevada', либо в 'Georgia'.
Пример с оператором DELETE
Наконец, этот последний пример AND и OR демонстрирует, как условия AND и OR могут использоваться в операторе DELETE.
Например:
1 2 3 |
DELETE FROM contacts WHERE state = 'Nevada' AND (last_name = 'Bubnovsky' OR last_name = 'Bernard'); |
Этот пример условия MySQL AND и OR удаляет все записи из таблицы contacts, чьи state = 'Nevada', и last_name - либо 'Bubnovsky', либо 'Bernard'.