[ START WITH podmínka ] CONNECT BY podmínka

Slides:



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

KIV/ZIS Cvičení 6 SQL - SELECT.
Databáze Dotazy.
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.
YDASYS1 Ing. Monika Šimková.
Fakulta elektrotechniky a informatiky
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.
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
Fakulta elektrotechniky a informatiky
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Architektury a techniky DS
Databázové systémy 1 Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
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
ORGANIZACE DAT V POČÍTAČI
Temporální databáze a TSQL
Radek Špinka Přepínače MSSQL výběr.
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
Základy práce na PC Ing. Jan Roubíček.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
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.
Název sloupce Datový typ Počet znaků Znaková sada Možnost prázdného pole Typ klíče Automatický přírůstek.
SQL – základní pojmy Ing. Roman Danel, Ph.D.
Databázové systémy 2 Cvičení č. 6 Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 08:00. Příklad I – Funkce – 4 body Vytvořte funkci F_ZK1(p_id_zamestnance NUMBER) RETURN VARCHAR2. Daná funkce.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Cvičení č. 10 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 2 Zkouška – 08:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK3(p_oddeleni_id_from NUMBER, p_oddeleni_id_to NUMBER,
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK4(p_oddeleni_id_from NUMBER, p_oddeleni_id_to NUMBER)
Databázové systémy I Cvičení č. 7 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK2(p_table_name VARCHAR2, p_min_nuls NUMBER, p_drop.
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í
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
KIV/ZIS cvičení 4 Tomáš Potužák. Dotazy - úvod Umožňují pracovat s databází –Získávat specifické informace z tabulky, případně z více tabulek najednou.
Databázové systémy SQL Výběr dat.
Použití dotazu jako zdroj dat pro pohled Vypracovala: Procházková Petra.
DATABÁZOVÉ SYSTÉMY Ing. Roman Danel, Ph.D.
Databázové systémy 2 Zkouška – 8:00. Příklad I - Funkce Vytvořte funkci ZK_DIFF_MIN_MAX (P_ZAM_ID NUMBER) RETURN VARCHAR2. Funkce může vracet.
Petr Čermák Michal Danihelka
Databázové systémy 1 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
ACCESS DOTAZY Ing. Jana Horáková IKT MS Office
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2015.
Databázové systémy I Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
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
NÁZEV ŠKOLY: Masarykova základní škola a mateřská škola Melč, okres Opava, příspěvková organizace ČÍSLO PROJEKTU: CZ.1.07/1.4.00/ AUTOR: Mgr. Vladimír.
Ing. Tomáš Váňa, Ing. Jiří Zechmeister
Algoritmizace a programování
Číslo projektu školy CZ.1.07/1.5.00/
Databázové systémy a SQL
Optimalizace SQL dotazů
Přednáška 7 SQL – JOIN.
Přednáška 9 Triggery.
Transkript prezentace:

[ START WITH podmínka ] CONNECT BY podmínka Hierarchické dotazy I Slouží k vytvoření řazení pomocí hierarchické posloupnosti (strom) Užití GROUP BY nebo ORDER BY zničí výsledky tohoto příkazu [ START WITH podmínka ] CONNECT BY podmínka Kromě zmíněných klauzulí zavedeme ještě PRIOR a LEVEL

Hierarchické dotazy II Klauzule START WITH určující počátek struktury, tedy kořen stromu Může vzniknout i několik stromů, přičemž každý kořen musí vyhovovat dané podmínce Jedná se o nepovinnou část, při absenci je za kořen postupně považován každý záznam Klauzule CONNECT BY PRIOR pak určuje způsob řazení potomků ve stromu a klauzule LEVEL určuje aktuální úroveň zanoření

Hierarchické dotazy III Klauzule určující podmínku pro stanovené souvislosti mezi dvěma po sobě jdoucími záznamy v jedné větvi (vztah rodič - potomek) Pro určení syna, tj. sloupce podřazeného záznamu, se používá operátor PRIOR Právě jedna podmínka v CONNECT BY musí být kvalifikována pomocí PRIOR Jiné operátory než PRIOR mohou vést k nekonečnému cyklu

Příklad SELECT prijmeni ||' je podřízen '|| PRIOR prijmeni FROM zamestnanci START WITH nadrizeny IS NULL CONNECT BY PRIOR id_zamestnanci = nadrizeny

Pseudosloupec LEVEL Umožňuje orientaci v hierarchických strukturách SELECT LEVEL AS uroven, prijmeni AS zamestnanec, PRIOR prijmeni AS vedouci FROM zamestnanci START WITH nadrizeny IS NULL CONNECT BY PRIOR id_zamestnanci = nadrizeny

Klauzule WHERE a ORDER BY Při použití klauzule WHERE jsou ze stromu vyčleněny řádky, které jsou v ní přímo označeny Je-li součástí CONNECT BY PRIOR podmínka pro WHERE je odříznuta celá větev stromu Při použití ORDER BY má prioritu řazení, dojde tak ke zrušení hierarchie Použití ORDER SIBLINGS BY pro definici řazení v rámci potomků

ROWNUM Určí číslo řádku Požívá se například, když chceme vypsat N prvních SELECT ROWNUM, prijmeni FROM (SELECT prijmeni FROM zamestnanci ORDER BY plat DESC)

1. Vypište jména a příjmení zaměstnanců s nejvyšším počtem nadřízených 1. Vypište jména a příjmení zaměstnanců s nejvyšším počtem nadřízených. 2. Vytvořte stromovou strukturu zaměstnanců v následujících formátech: všichni zaměstnanci pro pobočku v Břeclavi

3. Vypište názvy prvních deseti neprodávanějších produktů na pobočce Brno 1 od 9. 2. do 17. 2. 2014 včetně pořadí. 4. Vypište pět dnů s nejnižším obratem. 5. Spočítejte kolik prodejů bylo zaplaceno v hotovosti, kolik kartou a u kolika to není možné z poskytnutých dat zjistit. 6. Pro jednotlivé pobočky vypište dny s nejvyšším ziskem.

7. Vypište názvy a zemi původu všech asijských produktů, které vyrobili producenti, kteří patřili mezi tři nejúspěšnějších producentů z hlediska počtu prodaných kusů. 8. Vypište názvy, zemi původu a název producenta všech neasijských produktů, které vyrobili producenti, kteří patřili mezi tři nejúspěšnější producenty z hlediska tržeb.

9. Vypište pořadí českých produktů (název produktu, producent, pořizovací cena, zisk), podle výše zisku, který přinesly. 10. Vypište 10 evropských produktů, které přinesly nejvyšší zisk hodonínské pobočce.

11. Vypište den s nejvyšším obratem za jednotlivá oddělení, pobočky a města. 12. Vypište tři dny s nejnižším obratem za jednotlivé pobočky.