В этом учебном пособии вы узнаете, как использовать MySQL условие AND с синтаксисом и примерами.
Описание
MySQL условие AND (также называемый оператор AND) используется для проверки двух или более условий в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис условия AND в MySQL:
AND condition2
...
AND condition_n;
Параметры или аргументы
condition1, condition2, ... condition_n - все условия, которые должны быть выполнены для выбранных записей.
Примечание
- MySQL условие AND позволяет вам протестировать 2 или более условий.
- MySQL условие AND требует, чтобы все условия (то есть: condition1, condition2, condition_n) должны быть выполнены для записи, которая должна быть включена в результирующий набор.
Пример c оператором SELECT
Рассмотрим примеры, которые показывают, как использовать условие AND в MySQL.
1 2 3 4 |
SELECT * FROM contacts WHERE state = 'Nevada' AND contact_id > 5000; |
Этот MySQL пример AND вернет все contacts, которые находятся в state = 'Nevada', и имеет значение customer_id больше 5000. Поскольку в операторе SELECT используется *, то все поля из таблицы contacts будут отображаться в наборе результатов.
Пример с соединением таблиц
Следующий MySQL пример AND показывает, как условие AND может использоваться для соединения нескольких таблиц в операторе SELECT.
Например:
1 2 3 4 |
SELECT orders.order_id, suppliers.supplier_name FROM suppliers, orders WHERE suppliers.supplier_id = orders.supplier_id AND suppliers.supplier_name = 'Apple'; |
Хотя приведенный запрос работает отлично, можно его записать следующим образом, используя соединение INNER JOIN.
Например:
1 2 3 4 5 |
SELECT orders.order_id, suppliers.supplier_name FROM suppliers INNER JOIN orders ON suppliers.supplier_id = orders.supplier_id WHERE suppliers.supplier_name = 'Apple'; |
Этот пример MySQL условия AND вернет все строки, где supplier_name - это 'Apple'. И таблицы suppliers и orders объединенных на основании supplier_id. Вы заметите, что все поля имеют префикс имен таблиц (например: orders.order_id). Это необходимо для устранения какой-либо двусмысленности в отношении того, к какой области относятся ссылки; поскольку одно и то же имя поля может существовать как в таблице suppliers, так и в таблице orders.
В этом случае в результирующем наборе будут отображаться только поля order_id и supplier_name (как указано в первой части оператора SELECT).
Пример с оператором INSERT
Следующий MySQL пример AND демонстрирует, как условие AND может использоваться в операторе INSERT.
Например:
1 2 3 4 5 6 |
INSERT INTO suppliers (supplier_id, supplier_name) SELECT customer_id, customer_name FROM customers WHERE customer_name = 'SunSystem' AND customer_id < 2500; |
Этот пример MySQL условия AND будет вставляться в таблицу suppliers, все записи customer_id и customer_name из таблицы customers, c customer_name = 'SunSystem', а customer_id менее 2500.
Пример с оператором UPDATE
Этот пример MySQL условия AND показывает, как условие AND может использоваться в операторе UPDATE.
Например:
1 2 3 4 |
UPDATE suppliers SET supplier_name = 'Amer' WHERE supplier_name = 'Sun Microsystems' AND offices = 10; |
Этот пример MySQL условия AND обновил бы все значения supplier_name в таблице suppliers в 'Amer', где supplier_name было 'Sun Microsystems' и имело бы offices = 10.
Пример с оператором DELETE
Наконец, этот последний MySQL пример AND демонстрирует, как условие AND может использоваться в операторе DELETE.
Например:
1 2 3 |
DELETE FROM suppliers WHERE supplier_name = 'Electric' AND product = 'Tracker GPRS'; |
Этот пример MySQL условия AND удалит все записи из таблицы suppliers, где supplier_name = 'Electric', и product = 'Tracker GPRS'.
Подробнее о соединении таблиц в MySQL.