Das EXISTS-Prädikat (exists_predicate) prüft, ob eine Ergebnistabelle (siehe Ergebnistabellenname) mindestens eine Zeile enthält.
<exists_predicate> ::= EXISTS <subquery>
Der Wahrheitsgehalt eines EXISTS-Prädikats ist entweder wahr oder falsch.
Durch die Subquery wird eine Ergebnistabelle erzeugt. Wenn diese Ergebnistabelle wenigstens eine Zeile enthält, ist EXISTS <subquery> wahr.
Beispieltabelle customer, reservation
Selektieren Sie Kunden nur dann, wenn für diese eine oder mehrere Buchungen vorliegen:
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 |