Sbφrka dotaz∙ û str. 6

P°φklad 11

Zadßnφ: Vyberte ty faktury, kterΘ nejsou zaplacenΘ

SQL:

    SELECT *
    FROM Faktury
    WHERE (Faktury.zaplaceno IS NULL)

Poznßmka:

a) Operßtor IS NULL se pou₧φvß prßv∞ v takov²chto p°φkladech: vybrat ty zßznamy, v nich₧ n∞kter² sloupec je nebo nenφ vypln∞n.

b) Pokud bychom cht∞li tuto podmφnku obrßtit (negovat), lze pou₧φt dva ekvivalentnφ zßpisy: WHERE (Faktury.zaplaceno IS NOT NULL) nebo WHERE NOT (Faktury.zaplaceno IS NULL).

P°φklad 12

Zadßnφ: Vytvo°te dotaz, kter² zjistφ nezaplacenΘ faktury odb∞ratel∙ a vypoΦφtß penßle k dneÜnφmu dni. Lh∙ta na zaplacenφ nech¥ je 14 dnφ, penßle je 1% z ceny za ka₧d² den po lh∙t∞.

SQL:

    SELECT Faktury.castka AS ╚┴STKA,
        (Today-dat1-14) AS PO╚ET_DN═,
        (Today-dat1-14)*0.01*castka AS PEN┴LE,
        castka+(Today-dat1-14)*0.01*castka AS CELKEM,
        Firmy.nazev AS N┴ZEV,
        Faktury.cislo AS FA_╚═SLO
    FROM Faktury, Firmy
    WHERE Faktury.firma=Firmy.cislo
     AND (Faktury.zaplaceno IS NULL AND 
        Faktury.dat1<=Today-14 AND
        Faktury.druh=2)

Poznßmky:

a) VÜimn∞te si, ₧e odpov∞∩ na tento dotaz se liÜφ den ode dne - jak nar∙stß penßle.

b) Ve v²razu v Φßsti SELECT i v podmφnce WHERE lze pou₧φvat n∞kterΘ funkce programovacφho jazyka. Mφsto funkce jazyka Today by Ülo se stejn²m v²sledkem pou₧φt i funkci SQL CURRENT_DATE.

PokraΦovßnφ

Sbφrka dotaz∙ str.7

Sbφrka dotaz∙ - ·vodnφ strana

SQL dotazy