Операторы 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 даст следующий результат: