602SQL-┌plnß dokumentace Index   Tisk  

Sbφrka dotaz∙ û str. 3

P°φklad 4

Zadßnφ: P°ipojte fakturßm v₧dy nßzev a adresu firmy.

SQL:

    SELECT Faktury.cislo,Firmy.nazev,Faktury.castka
    FROM Faktury,Firmy
    WHERE Faktury.firma=Firmy.cislo

P°φklad 5

Zadßnφ: Zjist∞te, kolik faktur je doÜl²ch.

SQL:

    SELECT COUNT(Faktury.cislo)
    FROM Faktury
    WHERE (Faktury.druh=1)

Poznßmky:

a) AgregaΦnφ funkce se poΦφtß p°es jedinou skupinu, a tou jsou vÜechny platnΘ zßznamy. Z toho plyne, ₧e v²sledkem musφ b²t jedin² °ßdek s tolika hodnotami, kolik je v Φßsti SELECT polo₧ek. Dotaz s agregaΦnφmi funkcemi nenφ editovateln².

b) Parametry funkce COUNT: PoΦφtßte-li zßznamy v dotazu, velice zßle₧φ na sloupci, kter² pou₧ijete jako parametr funkce COUNT. V²sledky se toti₧ mohou od sebe liÜit. Funkce COUNT poΦφtß pouze ty zßznamy, kterΘ ve sloupci, je₧ je jejφm parametrem, nemß hodnotu NULL. Chcete-li spoΦφtat vÜechny zßznamy, pak jako parametr funkce COUNT pou₧ijte hv∞zdiΦku nebo takov² sloupec, u n∞ho₧ mßte zajiÜt∞no, ₧e nenab²vß hodnot NULL.

P°φklad 6

Zadßnφ: Zjist∞te obraty jednotliv²ch firem a kolika fakturami toho dosßhli.

SQL:

    SELECT Faktury.firma,SUM(Faktury.castka),COUNT(*)
    FROM Faktury
    GROUP BY Faktury.firma
    ORDER BY Faktury.firma

Poznßmky:

a) Odpov∞∩ bude obsahovat tolik zßznam∙, kolik je v tabulce rozdφln²ch firem. Hodnoty odpov∞di nebudou editovatelnΘ.

b) Kombinacφ tohoto p°φkladu s p°φkladem 4 (relaΦnφ propojenφ) m∙₧ete do odpov∞di dostat tΘ₧ nßzev firmy mφsto jejφho Φφsla.