Subdotazy

SQL umo₧≥uje, aby souΦßst podmφnky tvo°il dalÜφ dotazov² v²raz, naz²van² zde zjednoduÜen∞ subdotaz. Subdotaz musφ b²t uzav°en v kulat²ch zßvorkßch. Jako subdotaz m∙₧e stßt kompletnφ dotazov² v²raz vΦetn∞ dalÜφch vno°en²ch subdotaz∙.

RozliÜujφ se t°i druhy subdotaz∙:

P°φklad 1:

Vybrat firmy, kterΘ majφ faktury za vφce ne₧ 10000 KΦ

SELECT A.nazev
FROM Firmy A
WHERE 10000 < (SELECT SUM(B.castka)
              FROM FAKTURY B
              WHERE A.cislo=B.firma)

P°φklad 2:

Vybrat faktury, kterΘ jsou v∞tÜφ ne₧ pr∙m∞rnΘ

SELECT *
FROM Faktury
WHERE castka > (SELECT AVG(castka) FROM Faktury)

P°φklad 3:

Vybrat faktury firem z Prahy

SELECT Faktury.cislo,Faktury.firma
FROM Faktury
WHERE firma IN (SELECT cislo
                FROM Firmy
                WHERE mesto LIKE "Praha%")

P°φklad 4:

Vybrat ty zam∞stnance, kte°φ majφ plat v∞tÜφ ne₧ vÜichni zam∞stnanci z Prahy

SELECT TAB1.jmeno,TAB1.plat
FROM Lidi TAB1
WHERE plat > ALL (SELECT plat
                  FROM Lidi 
                  WHERE adresa LIKE "Praha%")



P°φklad 5:

Vyberte firmy, kterΘ nemajφ ₧ßdnΘ faktury

SELECT nazev
FROM Firmy F
WHERE NOT EXISTS (SELECT * FROM Faktury A
                  WHERE A.nazev=F.nazev)