Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

SQL – základní pojmy Ing. Roman Danel, Ph.D.

Podobné prezentace


Prezentace na téma: "SQL – základní pojmy Ing. Roman Danel, Ph.D."— Transkript prezentace:

1 SQL – základní pojmy Ing. Roman Danel, Ph.D. roman.danel@vsb.cz
Institut ekonomiky a systémů řízení Hornicko–geologická fakulta

2 Přehled pojmů Projekce - FROM Restrikce - WHERE Kartézský součin
Spojování tabulek – JOIN DISTINCT – jedinečné hodnoty UNION – sjednocení dotazů EXCEPT – rozdíl dotazů INTERSECT – průnik dotazů Řazení výsledků – ORDER BY Seskupování – GROUP BY, filtr HAVING NULL Vnořené dotazy

3 Projekce Výpis části tabulky – seznam sloupců v příkazu SELECT
select jmeno, prijmeni from SEZNAM

4 Restrikce Omezení množiny řádků na základě podmínky – predikát WHERE
Podmínky lze kombinovat pomocí logických spojek select jmeno, prijmeni from SEZNAM where PRIJMENI = ‚Turek‘

5 Kartézský součin V dotazu můžeme za slovo FROM uvést více názvů tabulek. Dosáhneme tím tzv. kartézského součinu. Získáme množinu obsahující všechny kombinace záznamů Nežádoucí jev – měla by být restrikce - WHERE! select * from SEZNAM, PREDMETY

6 Spojování tabulek - JOIN
umožňuje oddělit dva druhy podmínek – jedny slouží k propojení tabulek (za JOIN … ON) a druhé k restrikci (za WHERE). Pomocí slova AS určíme aliasy tabulek select JMENO, PRIJMENI, NAZEV_PREDMET, ZNAMKA from SEZNAM left join VYSLEDKY on SEZNAM.ID_SEZNAM = VYSLEDKY.ID_SEZNAM left join PREDMETY on PREDMETY.ID_PREDMET = VYSLEDKY.ID_PREDMET where SEZNAM.PRIJMENI = 'Turek'

7 Distinct – jedinečné hodnoty
select prijmeni from SEZNAM select DISTINCT prijmeni from SEZNAM

8 Union – sjednocení dotazů
Sjednocená množina ze dvou tabulek Záznamy musí být stejného datového typu SELECT jmeno, prijmeni FROM osobni_kontakty UNION FROM autori;

9 EXCEPT – rozdíl dotazů Seznam osob, které jsou v autorech, ale nejsou v osobních kontaktech SRBD Oracle – „MINUS“ SELECT jmeno, prijmeni FROM autor EXCEPT FROM osobni_kontakty ORDER BY prijmeni

10 INTERSECT – průnik dotazů
Seznam osob, které jsou autorem a zároveň i osobou v našich kontaktech SELECT jmeno, prijmeni FROM autor INTERSECT FROM osobni_kontakty ORDER BY prijmeni

11 Řazení výsledků Ascending – vzestupně (od 0 do 9, od A do Z…)
Descending – sestupně (Z-A, 9-0) select jmeno, prijmeni from SEZNAM order by PRIJMENI [ascending / descending]

12 Seskupování – GROUP BY Seskupení dle podmínky v GROUP BY
Ve výčtu polí lze uvést pouze pole z GROUP BY nebo agregační funkce (count, sum, min, max…) Select prijmeni, count(*) from SEZNAM group by PRIJMENI

13 Seskupování – agregační funkce
Count Sum Min Max Avg (= average)

14 Seskupování – filtrování
Klauzule HAVING Select prijmeni, count(*) from SEZNAM group by PRIJMENI HAVING count(*) > 1

15 NULL hodnoty Hodnota není určena
Nelze porovnávat pomocí operátorů: =, >, < IS NULL, IS NOT NULL

16 Vnořené dotazy Zanořený dotaz Lze i na místě sloupce
SELECT max(pocet), min(pocet), avg(pocet) FROM ( SELECT count(k.id) AS pocet FROM autor AS a LEFT JOIN kniha AS k ON (a.id = k.autor) GROUP BY a.id ) AS knihy;


Stáhnout ppt "SQL – základní pojmy Ing. Roman Danel, Ph.D."

Podobné prezentace


Reklamy Google