В этом учебном пособии вы узнаете, как использовать условие IN в PostgreSQL с синтаксисом и примерами.
Описание
PostgreSQL условие IN используется, чтобы уменьшить необходимость использования нескольких условий OR в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис для условия IN в PostgreSQL:
ИЛИ
Параметры или аргументы
- expression
- Значение для проверки.
- value1, value2... или value_n
- Значения для проверки на соответствие expression.
- subquery
- Это оператор SELECT, чей набор результатов будет проверен на соответствие expression. Если какое-либо из этих значений соответствует expression, условие IN будет иметь значение true.
Примечание
- PostgreSQL условие IN будет возвращать записи, в которых expression равно value1, value2... или value_n.
- PostgreSQL условие IN также называется оператором PostgreSQL IN.
Пример - с символами
Рассмотрим пример PostgreSQL условия IN с использованием символьных значений.
Ниже приведен PostgreSQL оператор SELECT, который использует условие IN для сравнения значений символов:
1 2 3 |
SELECT * FROM suppliers WHERE supplier_name IN ('Apple', 'Samsung', 'Asus'); |
В этом PostgreSQL примере условия IN будут возвращены все строки из таблицы suppliers, где supplier_name равно «Apple», «Samsung» или «Asus». Поскольку в SELECT используется *, то все поля из таблицы suppliers будут отображаться в результирующем наборе.
Приведенный выше пример IN эквивалентен следующему оператору SELECT:
1 2 3 4 5 |
SELECT * FROM suppliers WHERE supplier_name = 'Apple' OR supplier_name = 'Samsung' OR supplier_name = 'Asus'; |
Как вы можете видеть, использование PostgreSQL условия IN делает оператор более простым для чтения и более эффективным.
Пример - с числами
Далее Рассмотрим пример PostgreSQL условия IN с использованием числовых значений.
Например:
1 2 3 |
SELECT * FROM employees WHERE employee_id IN (300, 301, 500, 501); |
Этот пример PostgreSQL условия IN вернет все записи из таблицы employees, для которых employee_id равно 300, 301, 500 или 501.
Приведенный выше пример IN эквивалентен следующему утверждению SELECT:
1 2 3 4 5 6 |
SELECT * FROM employees WHERE employee_id = 300 OR employee_id = 301 OR employee_id = 500 OR employee_id = 501; |
Пример - использование оператора NOT
Наконец, Рассмотрим пример условия IN с использованием оператора NOT.
Например:
1 2 3 |
SELECT * FROM suppliers WHERE supplier_name NOT IN ('Apple', 'Samsung', 'Asus'); |
Этот пример PostgreSQL условия IN вернул бы все строки из таблицы suppliers, где supplier_name не «Apple», «Samsung» или «Asus». Иногда более эффективно перечислять значения, которые вы не хотите, в отличие от значений, которые вы хотите.