The EXISTS predicate ( exists_predicate) checks whether a result table (see result table name) contains at least one row.
<exists_predicate> ::= EXISTS <subquery>
The truth content of an EXISTS predicate is either true or false.
The subquery generates a result table. If this result table contains at least one row, EXISTS <subquery> is true.
Example tables: customer, reservation
Only select customers that have one or more reservations:
SELECT * FROM customer WHERE EXISTS
(SELECT * FROM reservation WHERE customer.cno =
reservation.cno)
CNO |
TITLE |
NAME |
FIRSTNAME |
ZIP |
CITY |
ACCOUNT |
3000 |
Mrs |
Porter |
Jenny |
80335 |
New York |
100.00 |
3100 |
Comp |
DATASOFT |
? |
50933 |
Dallas |
4813.50 |
3200 |
Mr |
Porter |
Martin |
10969 |
Los Angeles |
0.00 |
3600 |
Mr |
Howe |
George |
81737 |
New York |
-315.40 |
3900 |
Mrs |
Brown |
Susan |
13599 |
Los Angeles |
-4167.79 |
4100 |
Mr |
Adams |
Thomas |
13355 |
Los Angeles |
-416.88 |
4300 |
Comp |
TOOLware |
? |
13629 |
Los Angeles |
3770.50 |
4400 |
Mrs |
Brown |
Rose |
40233 |
Hollywood |
440.00 |