Databáze I. 2. přednáška. Helena Palovská

Podobné dokumenty
Databáze I. 1. přednáška. Helena Palovská

Úvod do databázových systémů 3. cvičení

SQL SQL-SELECT. Informační a znalostní systémy. Informační a znalostní systémy SQL- SELECT

Úvod do databázových systémů

KIV/ZIS - SELECT, opakování

MS Access Dotazy SQL

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

Informační systémy ve zdravotnictví. 10. cvičení

Databáze SQL SELECT. David Hoksza

KIV/ZIS cvičení 5. Tomáš Potužák

ÚVOD DO DATABÁZÍ. Metodické listy pro předmět

MS Access Dotazy SQL

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Databázové systémy. Cvičení 6: SQL

KIV/ZIS - SQL dotazy. stáhnout soubor ZIS- 04_TestovaciDatabaze accdb. SQL dotazy. budeme probírat pouze SELECT

DATA CUBE. Mgr. Jiří Helmich

5. blok Souhrnné a skupinové dotazy

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

KIV/ZIS cvičení 6. Tomáš Potužák

Co bude výsledkem mého SELECTu? RNDr. David Gešvindr MVP: Data Platform MCSE: Data Platform MCSD: Windows Store MCT

Databázové systémy a SQL

Základní přehled SQL příkazů

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Operátory ROLLUP a CUBE

Databázové systémy I

Jazyk S Q L základy, příkazy pro práci s daty

XMW4 / IW4 Pokročilé SELECT dotazy. Štefan Pataky

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

SQL. strukturovaný dotazovací jazyk. Structured Query Language (SQL)

FAKULTA STAVEBNÍ STUDIJNÍ PROGRAM: GEODÉZIE A KARTOGRAFIE TYP PROGRAMU: MAGISTERSKÝ STUDIJNÍ OBOR: GEOMATIKA ÚVOD DO ZPRACOVÁNÍ PROSTOROVÝCH DAT

Materiál ke cvičením - SQL

Databázové systémy Tomáš Skopal

Dotazování v relačním modelu a SQL

Jazyk SQL 2. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c M.Valenta, 2011 BI-DBS, ZS 2011/12

DJ2 rekurze v SQL. slajdy k přednášce NDBI001. Jaroslav Pokorný

*+, -+. / 0( & -.7,7 8 (((!# / (' 9., /,.: (; #< # #$ (((!# / "

Marian Kamenický. Syntea software group a.s. marian.kamenicky. MFFUK Praha 2012/13

U koly na procvic ení jazyka T-SQL

Marketingová komunikace. 3. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK3PH (vm3bph)

Analýza a modelování dat 6. přednáška. Helena Palovská

Databáze 2011/2012 SQL SELECT II. RNDr.David Hoksza, Ph.D.

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

DB1 cvičení 4 spojení tabulek a složitější dotazy

Úvod do databázových systémů

Kapitola 4: SQL. Základní struktura

Databázové systémy. Dotazovací jazyk SQL - II

Obsah. SQL konstrukce select join Rekurze (rekurzivní with) Analytické funkce, group by Pivoting

Materializované pohledy

Řešené příklady STUDENT(RČ, JMÉNO, SPECIALIZACE) PŘEDMĚT(KÓD, NÁZEV, SYLLABUS, GARANT) ZÁPIS(RČ, KÓD, SEMESTR, ZNÁMKA)

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Osnova je orientační pro FIT, u FEKTu se dá předpokládat, že budou zohledněny předchozí znalosti studentů, kde většina s databází nikdy přímo

Distanční opora předmětu: Databázové systémy Tématický blok č. 1: Dotazovací jazyk SQL Autor: RNDr. Jan Lánský, Ph.D.

Vzorová úloha 1: Prokažte znalosti aplikace Microsoft Access na zvolené ukázkové databázi.

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Databázové systémy. Agregace, sumarizace, vnořené dotazy. Vilém Vychodil

Úvod do SQL v systému SAS Martin Branda

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

TEORIE ZPRACOVÁNÍ DAT Cvičení 8

Informační systémy ve zdravotnictví. 6. cvičení

Databázové systémy Cvičení 5.3

- sloupcové integritní omezení

Vzorové příklady SQL. Tabulka: Kniha CREATE TABLE kniha (id INTEGER, název VARCHAR(50), PRIMARY KEY (id))

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databáze I. Přednáška 6

Odborná terminologie knihovnictví a informační vědy očima uživatelů databáze TDKIV Předběžné výsledky projektu. Helena Kučerová VOŠIS Praha

PG 9.5 novinky ve vývoji aplikací

6. blok část C Množinové operátory

Architektury databázových

Úvod do databázových systémů

Agentura CzechInvest. Regionální kancelář pro Moravskoslezský kraj

TRANSAKCE

Nerelační databázové modely. Helena Palovská

téma: Výběrové dotazy v MS Access

Praktické ukázky použití SQL. Informační a znalostní systémy

6. blok část B Vnořené dotazy

Analýza a modelování dat 5. přednáška. Helena Palovská

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MySQL základní pojmy, motivace Ing. Kotásek Jaroslav

Ukládání a vyhledávání XML dat

SPŠS Č.Budějovice Obor Geodézie a Katastr nemovitostí 3.ročník ATRIBUTY ZÁKLADN POJMY VÝBĚR PRVKŮ DLE ATRIBUTŮ

VŠB FEI - Technická Univerzita Ostrava. DAIS - Projekt. Dopravní podnik. Jméno: Matěj Kotyz (KOT0177)

Formální sémantika SQL dotazování

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Systémy řízení proudů dat

Sada 1 - PHP. 15. Výběr dat z databáze. Příkaz SELECT

CzechTrade: Váš partner na zahraničních trzích

CzechTrade. Mgr. Alena Hájková. Regionální exportní konzultant

Analýza a modelování dat. Přednáška 8

CzechTrade expertíza na blízkých i vzdálených trzích. Barbora Kaprálová Exportní konzultant

Spark SQL, Spark Streaming. Jan Hučín

Databáze pro evidenci výrobků

6. SQL složitější dotazy, QBE

1. Relační databázový model

Úvod do databázových systémů

RNDr. Jakub Lokoč, Ph.D. RNDr. Michal Kopecký, Ph.D. Katedra softwarového inženýrství Matematicko-Fyzikální fakulta Univerzita Karlova v Praze

Spark SQL, Spark Streaming. Jan Hučín

Databázové systémy a SQL

PROCESOR RELAČNÍ ALGEBRY

Transkript:

Databáze I 2. přednáška Helena Palovská palovska@vse.cz

SQL SELECT opakování Syntaxe jednoduchých dotazů: SELECT <seznam výstupních polí> FROM <spojené tabulky> WHERE <podmínky> ORDER BY <klíče řazení>

SELECT DatumObjednavky,Mezisoucet FROM Zakaznici, Objednavky WHERE Zakaznici.KodZakaznika=Objednavky.KodZakaznika AND Firma='Alfreds Futterkiste' varianty syntaxe SELECT DatumObjednavky,Mezisoucet FROM Zakaznici JOIN Objednavky ON ( Zakaznici.KodZakaznika=Objednavky.KodZakaznika) WHERE Firma='Alfreds Futterkiste' SELECT DatumObjednavky,Mezisoucet FROM Zakaznici JOIN Objednavky USING (KodZakaznika) WHERE Firma='Alfreds Futterkiste'

SQL SELECT přejmenování Další možnosti syntaxe: SELECT v.jednotkovácena AS AktuálníCena, r.jednotkovácena AS CenaVObjednávce FROM Výrobky v JOIN RozpisObjednávek r USING (ČísloVýrobku) WHERE v.jednotkovácena<>r.jednotkovácena

SQL SELECT jedinečné hodnoty Vypište všechna různá města v různých zemích, kde je nějaký zákazník! SELECT DISTINCT Země,Město FROM Zákazníci

Země Město Argentina Buenos Aires Belgie Brusel Belgie Charleroi Brazílie Campinas Brazílie Resende Brazílie Rio de Janeiro Brazílie Săo Paulo Dánsko Arhus Dánsko Kodaň Finsko Helsinky Finsko Oulu Francie Lille Francie Lyon......

Poznámka: USING nejde v MS Access, nahraďte ON() SQL SELECT outer join Pro každého zákazníka vypište data všech objednávek a částky za ně! SELECT KódZákazníka, Firma, DatumObjednávky, Mezisoučet FROM Zákazníci LEFT OUTER JOIN Objednávky USING (KódZákazníka) ORDER BY 1,3

KódZákazníka Firma DatumObjednávky Mezisoučet............ FAMIA Familia Arquibaldo 06.11.1996 20 360,50 Kč FAMIA Familia Arquibaldo 18.12.1996 4 150,00 Kč FAMIA Familia Arquibaldo 14.01.1997 5 620,75 Kč FAMIA Familia Arquibaldo 21.04.1997 13 132,50 Kč FAMIA Familia Arquibaldo 26.06.1997 7 750,00 Kč FAMIA Familia Arquibaldo 29.08.1997 44 480,00 Kč FAMIA Familia Arquibaldo 31.10.1997 7 195,00 Kč FISSA FISSA Fabrica Inter. Salchichas S.A. FOLIG Folies gourmandes 08.01.1997 40 560,00 Kč FOLIG Folies gourmandes 20.03.1997 18 900,00 Kč............

http://krokodata.vse.cz/sql/leftrightjoin

SQL SELECT self join Spojení tabulky se sebou: SELECT nad.jméno, nad.příjmení, pod.jméno, pod.příjmení FROM Zaměstnanci nad JOIN Zaměstnanci pod ON (nad.číslozaměstnance =pod.nadřízený) ORDER BY nad.číslozaměstnance

nad.jméno nad.příjmení pod.jméno pod.příjmení Andrew Fuller Laura Callahan Andrew Fuller Steven Buchanan Andrew Fuller Margaret Peacock Andrew Fuller Janet Leverling Steven Buchanan Anne Dodsworth Steven Buchanan Robert King Steven Buchanan Michael Suyama Laura Callahan Nancy Davolio

http://krokodata.vse.cz/sql/selfjoin

SQL SELECT - agregace Základní syntaxe dotazu s agregací: SELECT <seznam výstupních polí> FROM <spojené tabulky> WHERE <podmínky před seskupením> GROUP BY <dle čeho seskupit> HAVING <podmínky pro skupiny> ORDER BY <klíče řazení>

SQL SELECT agregační funkce Pro zákazníky vypočítejte počet objednávek, celkový nákup, poslední datum objednávky a počet různých kontaktních zaměstnanců! SELECT KódZákazníka, COUNT(*) AS pocetobj, SUM(Mezisoučet) AS celkovynakup, MAX(DatumObjednávky) AS PosledniObj, COUNT(DISTINCT ČísloZaměstance) AS pocetzam FROM Objednávky GROUP BY KódZákazníka Poznámka: COUNT(DISTINCT ) nejde v MS Access

BONAP 17 549 081,31 Kč 6.5.1998 8 KódZákazníka pocetobj celkovynakup PosledniOb pocetzam ALFKI 3 56 262,50 Kč 9.4.1998 2 ANATR 4 41 103,75 Kč 4.3.1998 2 ANTON 8 177 336,94 Kč 28.1.1998 4 AROUT 13 334 766,25 Kč 10.4.1998 6 BERGS 18 623 189,44 Kč 4.3.1998 7 BLAUS 7 80 995,00 Kč 29.4.1998 5 BLONP 10 433 952,00 Kč 12.1.1998 6 BOLID 3 105 821,25 Kč 24.3.1998 2

SQL SELECT agregační funkce Pro každou zemi spočítejte počet zákazníků s faxem! SELECT Země, COUNT(*) AS celkemzak, COUNT(Fax) AS sfaxem FROM Zákazníci GROUP BY Země

Země celkem Zák sfaxem Argentina 3 3 Belgie 2 2 Brazílie 9 3 Dánsko 2 2 Finsko 2 2 Francie 11 11 Irsko 1 1.........

Poznámka: USING nejde v MS Access, nahraďte ON() SQL SELECT agregační funkce Pro každého zákazníka spočítejte počet objednávek! SELECT KódZákazníka, COUNT(ČísloObjednávky) AS pocetobj FROM Zákazníci LEFT OUTER JOIN Objednávky USING (KódZákazníka) GROUP BY KódZákazníka

KódZákazníka pocetobj...... DUMON 4 EASTC 8 ERNSH 30 FAMIA 7 FISSA 0 FOLIG 5 FOLKO 19 FRANK 15......

http://krokodata.vse.cz/sql/group

Poznámka: Year() je funce v dialektu MS SQL SELECT agregace s podmínkou Pro každého zákazníka spočítejte počet objednávek v roce 1997! SELECT z.kódzákazníka, COUNT(ČísloObjednávky) AS pocetobj1997 FROM Zákazníci z LEFT OUTER JOIN Objednávky o ON (z.kódzákazníka=o.kódzákazníka AND Year(DatumObjednávky)=1997) GROUP BY z.kódzákazníka

KódZákazníka pocetobj KódZákazníka pocetobj1997 ALFKI 3 ANATR 4 ANTON 8 AROUT 13 BERGS 18 BLAUS 7 BLONP 10 BOLID 3...... ALFKI 0 ANATR 3 ANTON 5 AROUT 7 BERGS 10 BLAUS 4 BLONP 7 BOLID 1...... porovnej

http://krokodata.vse.cz/sql/groupplus

SQL SELECT podmínky před a po Kteří zákazníci v roce 1997 nakoupili za více než 1 000 000 Kč? SELECT KódZákazníka FROM Objednávky WHERE Year(DatumObjednávky)=1997 GROUP BY KódZákazníka HAVING SUM(Mezisoučet)>1000000

KódZákazníka ERNSH QUICK SAVEA

Konec