Operadores AND y OR de PostgreSQL

En PostgreSQL, AND y OR también se llaman operadores de conexión. Al consultar datos, se utilizan para reducir el rango de la consulta. Podemos usar AND u OR para especificar una o más condiciones de consulta.

AND

El operador AND indica que una o más condiciones deben cumplirse al mismo tiempo.

En la cláusula WHERE, la sintaxis para usar AND es la siguiente:

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

Ejemplo

Crear la tabla COMPANY (Descargar el archivo SQL de COMPANY), el contenido de los datos es el siguiente:

ejemplodb# 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)

El siguiente ejemplo lee todos los registros donde el campo AGE es mayor que 25 y el campo SALARY es mayor o igual que 65000:

ejemplodb=# 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

El operador OR indica que de las múltiples condiciones solo se necesita que se cumpla una cualquiera.

En la cláusula WHERE, la sintaxis para usar OR es la siguiente:

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

Crear la tabla COMPANY (Descargar el archivo SQL de COMPANY), el contenido de los datos es el siguiente:

ejemplodb# 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)

El siguiente ejemplo lee todos los registros donde el campo AGE es mayor o igual que 25 o el campo SALARY es mayor o igual que 65000:

ejemplodb=# 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
(4 rows)
Otras extensiones