In this PostgreSQL post explains how to use the PostgreSQL EXISTS condition with syntax and examples.
The PostgreSQL EXISTS condition is used in combination with a subquery and is considered "to be met" if the subquery returns at least one row. It can be used in a SELECT, INSERT, UPDATE, or DELETE statement.
The syntax for the EXISTS condition in PostgreSQL is:
A SELECT statement that usually starts with SELECT * rather than a list of expressions or column names. To increase performance, you could replace the SELECT * with SELECT 1 since the column result of the subquery is not relevant (only the rows returned matters).
Let's look at a simple example.
The following is a SELECT statement that uses the PostgreSQL EXISTS condition:
This PostgreSQL EXISTS condition example will return all records from the products table where there is at least one record in the inventory table with the matching product_id. We have used SELECT 1 in the subquery to increase performance since the column result set is not relevant to the EXISTS condition (only the existence of a returned row matters).
The PostgreSQL EXISTS condition can also be combined with the NOT operator.
For example,
This PostgreSQL EXISTS example will return all records from the products table where there are no records in the inventory table for the given product_id.
The following is an example of an INSERT statement that uses the PostgreSQL EXISTS condition:
The following is an example of an UPDATE statement that uses the PostgreSQL EXISTS condition:
The following is an example of a DELETE statement that uses the PostgreSQL EXISTS condition: