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

Slides:



Advertisements
Podobné prezentace
Aplikační a programové vybavení
Advertisements

KIV/ZIS Cvičení 6 SQL - SELECT.
SQL Další dotazy a pohledy
Cvičení 05 Joins, isNull, case when Ing. Pavel Bednář
Cvičení 06 Ing. Pavel Bednář
Základy jazyka SQL Jan Tichava
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
DB1 – 9. cvičení Optimalizace dotazu Konkurenční přístup a deadlock Indexace Transakce.
Databázové systémy SQL Výběr dat.
YDASYS1 Ing. Monika Šimková.
Fakulta elektrotechniky a informatiky
Cvičení 03 SQL Select Ing. Pavel Bednář
Základy informatiky Ing. Roman Danel, Ph.D.
Informační systémy Nástroje pro sběr dat, návrh a realizace databáze.
AGREGACE Distinct, Group By, Having, SUM, …. DISTINCT  Slučování stejných řádků ve výsledku dotazu. AGREGACE 2 JménoPříjmeníID FrantišekVomáčka1 JosefPokorný2.
SQL Structured Query Language
Další dotazy SQL Structured Query Language. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
SQL Structured Query Language
Informatika pro ekonomy II přednáška 11
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 4 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy I Přednáška č. 5 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
SQL Přednáška DB1. Literatura CONNOLLY, T.M.-BEGG,C.E.-STRACHAN,A.D.: Database Systems – A Practial Approach to Design, Implementation and Management.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Cvičení 04 SQL Exists, Any, All Ing. Pavel Bednář
Databázové systémy II Přednáška č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Rozumíme si s MDX Š.Havlíček.
Databázové systémy I Cvičení č. 9 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy Přednáška č. 6.
SQL PVA Jan Hora. SQL „graficky“ Grafický vs. pravý SQL SELECT ORDED BY WHERE.
Rauer Luboš Kopic Petr Blažek Tomáš. Structured Query Language - dotazovací jazyk -> pracuje s dotazy - neprocedurální jazyk - mocný, ale přitom jednoduchý.
Databázové systémy II Přednáška č. X Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy Tomáš Skopal
Databázové systémy I Cvičení č. 7 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy UIN010 N-ticový (řádkový) relační kalkul Hodnoty proměnných n-tice relací (řádky) Konstanty hodnoty atributů Unární funkční.
Informatika II PAA DOTAZOVACÍ JAZYKY
2OP483 Manažerská informatika 3Access - BankaSnímek 1 2OP483 Manažerská informatika 3 Microsoft Office Access 2007 Dotazy v databázi Banka
Aplikační a programové vybavení
Databázové systémy Informatika pro ekonomy, př. 18.
XQuery Dotazovací jazyk XML Daniel Privalenkov. O čem bude prezentace Nutnost dotazovacího jazyku v XML Rychlý přehled XQuery Několik příkladů.
Databázové systémy SQL Výběr dat.
 Agregační funkce  Agregační funkce jsou to funkce, které nějakým způsobem zpracují více hodnot a jako výsledek vrátí hodnotu jednu COUNT()  Funkce.
SQL Další dotazy a pohledy Databázové systémy. Některé SQL příkazy mohou mít v sobě obsaženy další kompletní příkazy SELECT. Využijeme je tam, kde potřebujeme.
CUBE - Operátor relační agregace
23/04/20151 LINQ (1) LINQ (Language Integrated Query) je součást MS.NET Frameworku umožňující jednotný přístup k datům a jejich zpracování deklarativ-
SQL Structured Query Language
J. Macur, FAST VUT, 2011 (kombinované studium BU04)
Databázové systémy I Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Příkazy jazyka SQL ve VFP a na SQL Serveru
Databáze MS ACCESS 2010.
SQL – příkaz SELECT Ing. Roman Danel, Ph.D.
Databázové systémy I Přednáška 5 Databázové systémy 1 – KIT/IDAS1
Databázové systémy I Přednáška 8 Databázové systémy 1 – KIT/IDAS1
Ing. Tomáš Váňa, Ing. Jiří Zechmeister
Databázové systémy a SQL
[ START WITH podmínka ] CONNECT BY podmínka
A5M33IZS – Informační a znalostní systémy
Optimalizace SQL dotazů
Počítačová cvičení z předmětu Datové sklady
Dotazovací jazyk SQL - II
Přednáška 7 SQL – JOIN.
Přednáška 6 SQL – spojení tabulek.
Transkript prezentace:

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

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

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

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‘

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

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'

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

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;

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

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

Ř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]

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

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

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

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

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;