В этом учебном материале вы узнаете, как использовать SQL условие AND с синтаксисом и примерами.
Описание
SQL условие AND (также известное как оператор AND) используется для проверки двух или более условий в операторе SELECT, INSERT, UPDATE или DELETE. Все условия должны быть соблюдены для выбора записи.
Синтаксис
Синтаксис для условия AND в SQL:
AND condition2
...
AND condition_n;
Параметры или аргументы
- condition1, condition2, ... condition_n
- Несколько условий, которые будут проверены для каждой записи. Все условия должны быть выполнены для включения в набор результатов.
Пример - использование условия AND с оператором SELECT
Давайте рассмотрим пример который показывает, как использовать условие AND в операторе SELECT для проверки двух условий, которые должны быть выполнены для выбора записей.
В этом примере у нас есть таблица customers со следующими данными:
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
4000 | Justin | Bieber | google.com |
5000 | Selena | Gomez | bing.com |
6000 | Mila | Kunis | yahoo.com |
7000 | Tom | Cruise | oracle.com |
8000 | Johnny | Depp | NULL |
9000 | Russell | Crowe | google.com |
Теперь продемонстрируем, как использовать условие AND. Введите следующий оператор SELECT:
1 2 3 4 5 |
SELECT * FROM customers WHERE favorite_website = 'google.com' AND customer_id > 6000 ORDER BY last_name; |
Будет выбрана 1 запись. Вот результаты, которые вы получите:
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
9000 | Russell | Crowe | google.com |
В этом примере будут возвращены все записи таблицы customers, для которых favourite_website - google.com, а customer_id - более 6000. Поскольку в SQL операторе SELECT используется *, то все поля из таблицы customers будут отображаться в наборе результатов.
Пример - использование условия AND с оператором UPDATE
Теперь рассмотрим пример использования условия AND в операторе UPDATE. Это будет проверять наличие нескольких условий до обновления записи.
В этом примере у нас есть таблица suppliers со следующими данными:
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Yandex | Moscow | Moscow |
200 | Lansing | Michigan | |
300 | Oracle | Redwood City | California |
400 | Bing | Redmond | Washington |
500 | Yahoo | Sunnyvale | Washington |
600 | DuckDuckGo | Paoli | Pennsylvania |
700 | Qwant | Paris | Ile de France |
800 | Menlo Park | California | |
900 | Electronic Arts | San Francisco | California |
Введите следующий оператор UPDATE:
1 2 3 4 |
UPDATE suppliers SET supplier_name = 'SaaS' WHERE city = 'Redwood City' AND supplier_id <> 900; |
Будет обновлена 1 запись. Снова выберите данные из таблицы suppliers:
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Yandex | Moscow | Moscow |
200 | Lansing | Michigan | |
300 | SaaS | Redwood City | California |
400 | Bing | Redmond | Washington |
500 | Yahoo | Sunnyvale | Washington |
600 | DuckDuckGo | Paoli | Pennsylvania |
700 | Qwant | Paris | Ile de France |
800 | Menlo Park | California | |
900 | Electronic Arts | San Francisco | California |
В этом примере все значения supplier_name в таблице suppliers будут обновлены до SaaS, где городом был Redwood City, а supplier_id не был равен 900. Как видно supplier_name обновлено в третьей строке.
Пример - использование условия AND с оператором DELETE
Теперь давайте посмотрим, как использовать условие AND в операторе DELETE для проверки 2 условий, которые должны быть выполнены перед удалением записи.
В этом примере у нас есть таблица products со следующими данными:
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
Введите следующий оператор DELETE:
1 2 3 |
DELETE FROM products WHERE category_id = 50 AND product_name <> 'Pear'; |
Будет удалено 3 записи. Снова выберите данные из таблицы products:
1 2 |
SELECT * FROM products; |
Вот результаты, которые вы получите:
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
В этом примере удаляются все записи из таблицы products, у которых category_id 50, а product_name не 'Pear'.