PostgreSQL - Операторы AND и OR
Операторы AND and OR используются для объединения нескольких условий для сужения выборки в PostgreSQL. Эти два оператора называются конъюнктивными операторами.
Эти операторы позволяют выполнять несколько сравнений с разными операторами в одной и той же команде PostgreSQL.
Оператор AND
Оператор AND допускает наличие нескольких условий в предложении WHERE. При использовании оператора AND полное условие будет считаться истинным, когда все условия истинны. Например, [условие1] И [условие2] будет истинным только тогда, когда оба условия1 и условие2 истинны.
Синтаксис
Базовый синтаксис оператора AND с применением WHERE выглядит следующим образом:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] AND [condition2]...AND [conditionN];
Вы можете комбинировать N – ое количество условий при использовании оператора AND. Для выполнения действия командой PostgreSQL, будь то транзакция или запрос, все условия, разделенные AND, должны быть ИСТИННЫ (TRUE).
Пример
Рассмотрим таблицу 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 AND зарплата больше или равна 65000.00:
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;
Результат будет следующим:
id | name | age | address | salary ----+-------+-----+------------+-------- 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 (2 rows)
Оператор OR
Оператор OR также используется для объединения нескольких условий в предложении WHERE. При использовании оператора OR полное условие будет считаться истинным, если хотя бы одно из условий истинно. Например, [условие1] ИЛИ [условие2] будет истинным, если верно либо условие1, либо условие2.
Синтаксис
Базовый синтаксис оператора OR с применением WHERE выглядит следующий образом:
SELECT column1, column2, columnN FROM table_name WHERE [condition1] OR [condition2]...OR [conditionN]
Вы можете комбинировать N - ое количество условий при использовании оператора OR. Для того чтобы обеспечить действие по команде PostgreSQL, будь то транзакция или запрос, только ОДНО из условий, разделенных OR , должно быть ИСТИННЫМ (TRUE).
Пример
Рассмотрим таблицу 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 OR зарплата больше или равна 65000.00:
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;
Результат будет следующий:
id | name | age | address | salary ----+-------+-----+------------+-------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000



