Open In App

PostgreSQL – EXISTS Operator

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

In PostgreSQL, the EXISTS operator is used to test for the existence of rows in a subquery.It is generally used with correlated subqueries. If the subquery returns at least one row, the result of EXISTS is true. In case the subquery returns no row, the result is of EXISTS is false.

Syntax: EXISTS (subquery)

For the sake of this article we will be using the sample DVD rental database, which is explained here and can be downloaded by clicking on this link in our examples. 

Example 1: Here we will query for customers who have at least one payment whose amount is greater than 9 USD using the “customer” and “payment” tables of our sample database.

SELECT first_name,
       last_name
FROM customer c
WHERE EXISTS
    (SELECT 1
     FROM payment p
     WHERE p.customer_id = c.customer_id
       AND amount > 9 )
ORDER BY first_name,
         last_name;

Output:

  

Example 2: Here we will query for films that are not available in the inventory using the “film” and “inventory” tables of our sample database.

SELECT title
FROM film f
WHERE NOT EXISTS
    (SELECT 1
     FROM inventory i
     WHERE f.film_id = i.film_id )
ORDER BY title;

Output:

 


Last Updated : 18 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads