PostgreSQL условия AND и OR

В этом учебном пособии вы узнаете, как использовать вместе условие OR и условие AND в запросе PostgreSQL с синтаксисом и примерами.

Описание

PostgreSQL условия OR и AND можно объединить в операторе SELECT, INSERT, UPDATE или DELETE.
При объединении этих условий важно использовать скобки, чтобы база данных знала, в каком порядке оценивать каждое условие.

Синтаксис

Синтаксис для условий OR и AND в PostgreSQL:

WHERE condition1
AND condition2
...
OR condition_n;

Параметры или аргументы

condition1, condition2, condition_n - это условия, которые оцениваются, для определения будут ли выбраны записи.

Примечание

  • PostgreSQL условия AND и OR позволяют вам протестировать несколько условий.
  • Не забудьте порядок операций в скобках!

Пример - с оператором SELECT

Рассмотрим пример, который объединяет условия AND и OR в операторе SELECT.
Например:

Этот пример AND и OR вернет все записи таблицы employees, которые живут в 'Samara', чье first_name равно 'Olga', и чей employee_id меньше или равен 1500. Скобки определяют порядок, в котором оцениваются условия AND и OR.

В следующем примере рассматривается более сложный запрос.
Например:

В этом примере будут возвращены все значения employee_id, last_name и first_name из таблицы employee, чье last_name - 'Ivanov' ИЛИ, чье last_name - 'Petrov', и state - 'Florida' ИЛИ, чье last_name - 'Sidorov' и status имеет значение 'Active', а state - 'Nevada'.

Пример - с оператором INSERT

Следующий пример демонстрирует, как условия AND и OR могут быть объединены в операторе INSERT.
Например:

Этот пример будет вставлять в таблицу contacts все записи customer_id и customer_name из таблицы customers чье last_name равно 'Petrov' или 'Ivanov', а customer_id больше 260.

Пример - с оператором UPDATE

Этот пример показывает, как условия AND и OR могут использоваться в операторе UPDATE.
Например:

В этом примере все значения status обновляются до «Active» в таблице employee, где first_name равно 'Milana' или last_name равно 'Safina', а employee_id больше 9500.

Пример - с оператором DELETE

Наконец, последней пример демонстрирует, как можно использовать условия AND и OR в операторе DELETE.
Например:

В этом примере будут удалены все записи из таблицы employee, где employee_id больше или равно 500, а last_name или 'Ivanov' или last_name = 'Petrov'.