602SQL-Úplná dokumentace Index  

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.