© Jouni Huotari ja Tapani Äijänen
33
Alikyselyt – esimerkki 3: ANY, ALL ja EXISTS
•Jos käytetään vertailuoperaattoria > tai <, niin IN ei käy
–SELECT nimi, hinta, myyja
–FROM tuote -- hakuehto:
–WHERE hinta > ANY -- ne myyjät
– (SELECT hinta -- jotka myyvät
– FROM tuote -- kalliimpia tuotteita
– WHERE myyja = ‘Pekka'); -- kuin Pekka
•ANY: jos alikyselyn mikä tahansa arvo täyttää ehdon
•ALL: jos alikyselyn jokainen yksittäinen arvo täyttää ehdon
•EXISTS: tosi, jos alikysely palauttaa ainakin yhden rivin
Vinkki: voit käyttää myös NOT EXISTS –yhdistelmää, esim. mille tuotteille ei ole myyjiä:
SELECT nimi, hinta
FROM tuote
WHERE NOT EXISTS
   (SELECT *
   FROM myyja
   WHERE myyja.myyja = tuote.myyja); -- myyja-taulu on tuote-taulun vanhempi