Учебники

И и ИЛИ Соединительные Операторы

Операторы PostgreSQL И и ИЛИ используются для объединения нескольких условий для сужения выбранных данных в операторе PostgreSQL. Эти два оператора называются конъюнктивными операторами.

Эти операторы предоставляют возможность проводить множественные сравнения с разными операторами в одной и той же инструкции PostgreSQL.

Оператор AND

Оператор AND допускает существование нескольких условий в предложении WHERE оператора PostgreSQL. При использовании оператора AND полное условие будет считаться истинным, если все условия выполняются. Например, [условие1] И [условие2] будет истинным, только когда оба условия1 и условие2 будут истинными.

Синтаксис

Основной синтаксис оператора AND с предложением WHERE следующий:

SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

Вы можете объединить N условий с помощью оператора AND. Для действия, выполняемого оператором PostgreSQL, будь то транзакция или запрос, все условия, разделенные AND, должны быть ИСТИНА.

пример

Рассмотрим таблицу COMPANY, имеющую записи следующим образом:

testdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

Следующий оператор SELECT перечисляет все записи, где AGE больше или равно 25 И зарплата больше или равна 65000.00 —

testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;

Приведенный выше оператор PostgreSQL даст следующий результат:

 id | name  | age | address    | salary
----+-------+-----+------------+--------
  4 | Mark  |  25 | Rich-Mond  |  65000
  5 | David |  27 | Texas      |  85000
(2 rows)

Оператор ИЛИ

Оператор OR также используется для объединения нескольких условий в предложении WHERE оператора PostgreSQL. При использовании оператора ИЛИ полное условие будет считаться истинным, если хотя бы одно из условий является истинным. Например, [условие1] ИЛИ [условие2] будет истинным, если условие 1 или условие 2 истинно.

Синтаксис

Основной синтаксис оператора OR с предложением WHERE следующий:

SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]

Вы можете комбинировать N условий с помощью оператора ИЛИ. Для действия, выполняемого оператором PostgreSQL, будь то транзакция или запрос, только ОДИН из условий, разделенных ИЛИ, должно быть ИСТИНА.

пример

Рассмотрим таблицу COMPANY , имеющую следующие записи:

 # select * from COMPANY;
  id | name  | age | address   | salary
 ----+-------+-----+-----------+--------
   1 | Paul  |  32 | California|  20000
   2 | Allen |  25 | Texas     |  15000
   3 | Teddy |  23 | Norway    |  20000
   4 | Mark  |  25 | Rich-Mond |  65000
   5 | David |  27 | Texas     |  85000
   6 | Kim   |  22 | South-Hall|  45000
   7 | James |  24 | Houston   |  10000
(7 rows)

Следующий оператор SELECT перечисляет все записи, где AGE больше или равно 25 ИЛИ оклад больше или равен 65000.00 —

testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;

Приведенный выше оператор PostgreSQL даст следующий результат: