Operadores de conjuntiva AND e OR
O PostgreSQL AND e ORoperadores são usados para combinar várias condições para restringir os dados selecionados em uma instrução PostgreSQL. Esses dois operadores são chamados de operadores conjuntivos.
Esses operadores fornecem um meio de fazer várias comparações com diferentes operadores na mesma instrução PostgreSQL.
O operador AND
o ANDoperador permite a existência de várias condições na cláusula WHERE de uma instrução PostgreSQL. Ao usar o operador AND, a condição completa será considerada verdadeira quando todas as condições forem verdadeiras. Por exemplo, [condição1] E [condição2] serão verdadeiras apenas quando ambas as condições1 e 2 forem verdadeiras.
Sintaxe
A sintaxe básica do operador AND com a cláusula WHERE é a seguinte -
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];
Você pode combinar um número N de condições usando o operador AND. Para que uma ação seja executada pela instrução PostgreSQL, seja uma transação ou consulta, todas as condições separadas por AND devem ser TRUE.
Exemplo
Considere a tabela COMPANY com os registros a seguir -
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)
A seguinte instrução SELECT lista todos os registros onde AGE é maior ou igual a 25 AND salário é maior ou igual a 65.000,00 -
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;
A instrução PostgreSQL fornecida acima produzirá o seguinte resultado -
id | name | age | address | salary
----+-------+-----+------------+--------
4 | Mark | 25 | Rich-Mond | 65000
5 | David | 27 | Texas | 85000
(2 rows)
O operador OR
O operador OR também é usado para combinar várias condições na cláusula WHERE de uma instrução PostgreSQL. Ao usar o operador OR, a condição completa será considerada verdadeira quando pelo menos qualquer uma das condições for verdadeira. Por exemplo, [condição1] OU [condição2] será verdadeira se a condição1 ou a condição2 for verdadeira.
Sintaxe
A sintaxe básica do operador OR com a cláusula WHERE é a seguinte -
SELECT column1, column2, columnN
FROM table_name
WHERE [condition1] OR [condition2]...OR [conditionN]
Você pode combinar N número de condições usando o operador OR. Para que uma ação seja realizada pela instrução PostgreSQL, seja uma transação ou consulta, apenas UMA das condições separadas por OR deve ser TRUE.
Exemplo
Considere a tabela COMPANY , tendo os seguintes registros -
# 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)
A seguinte instrução SELECT lista todos os registros onde AGE é maior ou igual a 25 OR salário é maior ou igual a 65.000,00 -
testdb=# SELECT * FROM COMPANY WHERE AGE >= 25 OR SALARY >= 65000;
A instrução PostgreSQL fornecida acima produzirá o seguinte resultado -
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
(4 rows)