Sbφrka dotaz∙ û str. 10

P°φklad 18

Zadßnφ: Vyberte firmy, kterΘ majφ faktury za vφce ne₧ 10000,- KΦ.

Popis °eÜenφ: Zvolφme op∞t °eÜenφ se subdotazem. Subdotaz pro ka₧dou firmu spoΦte jejφ faktury. Pak u₧ staΦφ subdotaz porovnat s konstantou 10000.

SQL:

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

Poznßmky:

a) Zde pou₧it² subdotaz se odliÜuje od subdotaz∙ v p°edeÜl²ch p°φkladech û pro ka₧d² zßznam tabulky Firmy mß subdotaz jinou hodnotu.

b) Pokud bychom cht∞li vypsat tytΘ₧ firmy a jejich obraty, musφme pou₧φt variantu dotazu bez subdotazu:

    SELECT A.nazev, SUM(B.castka)
    FROM Firmy A, Faktury B
    WHERE A.cislo=B.firma
    GROUP BY B.firma
    HAVING 10000 < SUM(B.castka)

c) vÜimn∞te si, ₧e dotaz se subdotazem je editovateln², zatφmco dotaz s propojenφm nikoliv.

PokraΦovßnφ

Sbφrka dotaz∙ str.11

Sbφrka dotaz∙ - ·vodnφ strana