В этом учебном пособии вы узнаете, как использовать PostgreSQL условие AND с синтаксисом и примерами.
Описание
PostgreSQL условие AND (также называемое оператором AND) используется для проверки двух или более условий в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис для условия AND в PostgreSQL:
AND condition2
...
AND condition_n;
Параметры или аргументы
condition1, condition2, condition_n - это все условия, которые должны быть выполнены для выбора записей.
Примечание
- PostgreSQL условие AND позволяет протестировать 2 или более условий.
- PostgreSQL условие AND требует, чтобы все условия (то есть: condition1, condition2, condition_n) были выполнены для включения записи в результирующий набор.
Пример - с оператором SELECT
Рассмотрим несколько примеров, которые показывают, как использовать условие AND в PostgreSQL.
Первый запрос PostgreSQL условия AND включает инструкцию SELECT с двумя условиями.
Например:
1 2 3 4 |
SELECT * FROM products WHERE product_type = «Одежда» AND product_id <= 1500; |
В этом PostgreSQL примере AND будут возвращаться все строки из таблицы products, которые имеют product_type «Одежда», и имеют product_id меньший или равный 1500. Поскольку в операторе SELECT используется *, то в результирующем наборе появятся все поля из таблицы products.
Пример - соединение таблиц
В нашем следующем PostgreSQL примере показано, как можно использовать условие AND для объединения нескольких таблиц в операторе SELECT.
Например:
1 2 3 4 |
SELECT products.product_id, products.product_name, inventory.quantity FROM products, inventory WHERE products.product_id = inventory.product_id AND products.product_type = 'Hardware'; |
Хотя вышеприведенный SQL работает просто отлично, вы традиционно пишете этот SQL следующим образом, используя правильное INNER JOIN.
Например:
1 2 3 4 5 |
SELECT products.product_id, products.product_name, inventory.quantity FROM products INNER JOIN inventory ON products.product_id = inventory.product_id WHERE products.product_type = 'Hardware'; |
В этом PostgreSQL примере условия AND будут возвращаться все строки, в которых product_type равен «Hardware». А таблицы products и inventory объединяются в product_id. Вы заметите, что все поля имеют префикс с именами таблиц (то есть: products.product_id). Это необходимо для устранения любой двусмысленности относительно того, на какое поле ссылаются; поскольку одно и то же имя поля может существовать как в таблице products, так и в inventory.
В этом случае результирующий набор будет отображать только поля product_id, product_name и amount (как указано в первой части инструкции SELECT). .).
Пример - с оператором INSERT
Следующий PostgreSQL пример демонстрирует, как можно использовать условие AND в операторе INSERT.
Например:
1 2 3 4 5 6 |
INSERT INTO contacts (last_name, first_name) SELECT last_name, first_name FROM customers WHERE customer_id > 3000 AND last_name = 'Иванов'; |
В этом PostgreSQL примере условия AND будут вставлены в таблицу contacts все записи last_name и first_name из таблицы customers, чьи customer_id больше 3000, а last_name (фамилия) - «Иванов».
Пример - с оператором UPDATE
В этом PostgreSQL примере показано, как можно использовать условие AND в операторе UPDATE.
Например:
1 2 3 4 |
UPDATE contacts SET last_name = 'Иванова' WHERE contact_id > 500 AND first_name = 'Милана'; |
В этом PostgreSQL примере условия AND будут обновлены все значения last_name в таблице contacts до 'Иванова', где contact_id больше 500 и first_name - это 'Милана'.
Пример - с оператором DELETE
Наконец, последний пример PostgreSQL AND демонстрирует, как можно использовать условие AND в операторе DELETE.
Например:
1 2 3 |
DELETE FROM contacts WHERE last_name = 'Иванова' AND first_name = 'Милана'; |
В этом PostgreSQL примере условия AND будут удалены все записи из таблицы contacts, у которых last_name - 'Иванова', а first_name - 'Милана'.