PostgreSQL - AND and OR Operators



The PostgreSQL AND and OR operators are used to combine multiple conditions to narrow down selected data in a PostgreSQL statement. The AND operator is called logical conjunction/conjunctive operator, while OR operator is known as logical disjunction.

These operators provide a means to make multiple comparisons with different operators in the same PostgreSQL statement.

The AND Operator

The AND operator allows the existence of multiple conditions in a PostgreSQL statement's WHERE clause. While using AND operator, complete condition will be assumed true when all the conditions are true. For example [condition1] AND [condition2] will be true only when both condition1 and condition2 are true.

Syntax

The basic syntax of AND operator with WHERE clause is as follows −

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

You can combine N number of conditions using AND operator. For an action to be taken by the PostgreSQL statement, whether it be a transaction or query, all conditions separated by the AND must be TRUE.

Example

Consider the table COMPANY having records as follows −

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)

Below is the query to get the table records −

testdb# select * from COMPANY;

Now, SELECT statement lists down all the records where AGE is greater than or equal to 25 AND salary is greater than or equal to 65000.00 −

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

The above given PostgreSQL statement will produce the following result −

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

The OR Operator

The OR operator is also used to combine multiple conditions in a PostgreSQL statement's WHERE clause. While using OR operator, complete condition will be assumed true when at least any of the conditions is true. For example [condition1] OR [condition2] will be true if either condition1 or condition2 is true.

Syntax

The basic syntax of OR operator with WHERE clause is as follows −

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

You can combine N number of conditions using OR operator. For an action to be taken by the PostgreSQL statement, whether it be a transaction or query, only any ONE of the conditions separated by the OR must be TRUE.

Example

Consider the COMPANY table, having the following records −

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)

The following SELECT statement lists down all the records where AGE is greater than or equal to 25 OR salary is greater than or equal to 65000.00 −

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

The above given PostgreSQL statement will produce the following result −

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)
Advertisements