A Brief Intro
Have you ever wondering, rather than show the data, can we show the
true
or false
if the data exist or not?
If so, then this short post might be for you!
How?
In this post we will take a look at exists
postgresql function. Before we
start, please keep in mind that exists
use subquery, so there is a penalty
of subquery here.
The exists
will evaluate if the subquery return any rows. If it returns at
least one row, the result of exists
is true
, if not, then the result of
exists
is false
.
We can use that in SELECT
statement like this:
SELECT
exists (
SELECT users.email
FROM users
WHERE users.email = participants.email
)
FROM participants;
Or we can use it in WHERE
statement like this:
SELECT participants.email
FROM participants
WHERE exists (
SELECT users.email
FROM users
WHERE (users.role = 'sponsor' AND users.email = participants.email)
)
This can be useful if we don’t want to join the table. Alright, that’s it for this post. See you next time!