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

Podobné dokumenty
Sada 1 - PHP. 14. Úvod do jazyka SQL

Sada 1 - PHP. 09. Formuláře

Sada 1 - PHP. 03. Proměnné, konstanty

Sada 1 - PHP. 20. Obrázky z obrázků

Sada 1 - PHP. 05. Větvení

Sada 1 - Název bloku (sady DUMů)

Sada 1 PHP. 19. Grafika v PHP - cvičení

Sada 2 - MS Office, Excel

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

Sada 2 - MS Office, Excel

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

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

Sada 2 - MS Office, Excel

Sada 2 - MS Office, Excel

MS Access Dotazy SQL

Sada 1 - Základy programování

Sada 2 Microsoft Word 2007

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

Sada 2 Microsoft Word 2007

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

Sada 1 Matematika. 04. Nekonečné řady

Sada 2 Stavební provoz

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

Sada 2 Microsoft Word 2007

Sada 2 Microsoft Word 2007

Sada 1 - Základy programování

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

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

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

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

Sada 1 - Základy programování

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

Sada 3 Inženýrské stavby

Sada 1 - Základy programování

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

Sada 1 - Základy programování

Sada 1 CAD Prostorové souřadnice v CAD systémech

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

Sada 1 CAD Kótování kótovací styl

Sada 1 - Základy programování

Sada 1 CAD Písmo v AutoCADu

Sada 1 Matematika. 06. Finanční matematika - úvod

Sada 2 Microsoft Word 2007

Sada 2 Stavební provoz

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

Sada 2 Microsoft Word 2007

Databázové systémy I

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

Sada 2 Microsoft Word 2007

KIV/ZIS - SELECT, opakování

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

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

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

Sada 1 Matematika. 01. Množiny - úvod

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

Sada 1 Geodezie I. 09. Nivelace pořadová, ze středu, plošná

Sada 2 CAD2. 4. CADKON 2D 2011 Vkládání schodiště

5. blok Souhrnné a skupinové dotazy

Sada 2 Klempířská technologie 29.Krovy střech

Sada 1 CAD Stažení a instalace výukového SW firmy Autodesk

Sada 1 - Základy programování

Sada 1 - Základy programování

Sada 1 Geodezie I. 04. Vytyčení přímky

Sada 1 Geodezie I. 05. Vytyčení kolmice a rovnoběžky

Sada 1 - Elektrotechnika

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

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

Sada 2 Geodezie II. 02. Stabilizace bodů

STŘEDNÍ ŠKOLA STAVEBNÍ JIHLAVA

Sada 2 Geodezie II. 14. Vytyčení polohopisu

Sada 1 Klempířská technologie

Ekonomika Veřejní obchodní společnost Komanditní společnost

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

Sada 2 Geodezie II. 09. Polní a kancelářské práce

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

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

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

Sada 2 - MS Office, Excel

Střední odborná škola a Střední odborné učiliště, Hořovice

Databáze SQL SELECT. David Hoksza

Ekonomika Státní rozpočet

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

Sada 2 Geodezie II. 16. Měření posunů a přetvoření

Sada 3 CAD3. 4. CADKON DT+ Okna

Sada 1 Dřevěná okna a dveře

Sada 3 CAD3. 6. CADKON DT+ Dveře

Sada 2 Geodezie II. 13. Základní vytyčovací prvky

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

Sada 3 Inženýrské stavby

Sada 1 - Elektrotechnika

Sada 1 Geodezie I. 15. Podrobné měření polohopisné

Ekonomika Inflace

Sada 2 Geodezie II. 12. Výpočet kubatur

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

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

WWW dotazovací služby pro prostorová data URM. Jiří Čtyroký Útvar rozvoje hl. m. Prahy

Sada 1 Geodezie I. 13. Měření vodorovných směrů

Návrh a tvorba WWW stránek 1/14. PHP a databáze

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

Transkript:

S třední škola stavební Jihlava Sada 1 - PHP 15. Výběr dat z databáze. Příkaz SELECT Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a zkvalitnění výuky prostřednictvím ICT Jan Pospíchal 2012 Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Příkaz SELECT Příkaz SELECT je asi nejužívanějším příkazem. Slouží k výpisu dat z tabulky. Za direktivou SELECT následuje seznam vypisovaných polí. Za klíčovým slovem FROM je uveden název tabulky. Příklad. Příkazem SELECT jmeno, prijmeni, skupina FROM seznamz; z tabulky seznamz vypíšeme všechny řádky, ale pouze sloupce jmeno, prijmeni, skupina.

Omezení počtu vrácených řádků Klíčovým slovem LIMITmůžeme omezit počet vypsaných řádků. Příklad. Příkazem SELECT id, jmeno, prijmeni, skupina FROM seznamz LIMIT 10; vypíšeme maximálně prvních 10 řádků z tabulky seznamz. Příkazem SELECT id, jmeno, prijmeni, skupina FROM seznamz LIMIT 10,3; vypíšeme maximálně 3 řádky tabulky, přičemž prvních 10 řádků přeskočíme. V našem případě tedy vypíšeme 11., 12. a 13. řádek tabulky seznamz. Klauzule LIMIT se používá k stránkování výpisu.

Aliasy Příkaz SELECTumožňuje přejmenovat tabulky, sloupce nebo výrazy a zobrazit nový název na výstupu. Příkazem SELECT id AS 'Pořadové číslo', CONCAT(jmeno,' ',prijmeni) AS Žák FROM seznamz; přejmenujeme sloupec idna Pořadové číslo. Identifikátor Pořadové číslo se nazývá alias (přezdívka). Funkcí MySQL CONCATzřetězíme údaje ze sloupců jmenoa prijmeni. Výsledek bude na výstupu nazván Žák. Klíčové slovo ASje volitelné, můžeme ho nahradit mezerou.

Klauzule WHERE Klauzule WHERE umožňuje vybrat z tabulky (tabulek) řádky splňující danou podmínku. Příkazem SELECT id AS 'Pořadové číslo', CONCAT(jmeno,' ',prijmeni) AS Žák FROM seznamz WHERE skupina=1; vypíšeme z tabulky seznamzvšechny žáky z první skupiny.

Odstranění duplicit Pomocí klíčového slova DISTINCT můžeme určit, že nechceme vypisovat duplicitní výsledky. Dotazem SELECT DISTINCT bydliste FROM cvictab; vypíšeme bydliště osob uvedená v tabulce cvictab. Každé bydliště je vypsáno právě jednou.

Seskupování řádků Za klíčovým slovem GROUP BY je možné uvést několik výrazů. Všechny vstupní řádky, pro které výrazy nabývají stejné hodnoty, patří do jedné skupiny ve výsledku zastoupené jediným souhrnným řádkem. Agregační funkce (například COUNT, SUM) je vyhodnocena pro každý souhrnný řádek. Ve výrazech za slovem GROUP BY je možné použít libovolný sloupec z tabulek uvedených v části FROM. Příkaz SELECT bydliste AS Bydliště,count(bydliste) AS 'Počet osob' FROM cvictab GROUP BY bydliste; seskupí a spočte osoby podle bydliště. Příkaz SELECT bydlisteas Bydliště, nabozenstvias Náboženství, count(bydliste) AS 'Počet osob' FROM cvictabgroup BY bydliste,nabozenstvi; seskupí podle dvou hledisek bydliště a náboženství.

Klauzule HAVING Použijeme-li v dotazu SELECTčást GROUP BY, můžeme podmínkou za klíčovým slovem HAVING omezit počet souhrnných řádků ve výsledku na ty, které splňují danou podmínku. Počet vstupních řádků seskupování můžeme omezit podmínkou v části WHERE. Příkazy SELECT bydlisteas Bydliště,FLOOR(AVG(mprijem)) AS 'Průměrný měsíční příjem' FROM cvictab GROUP BY bydliste; SELECT bydlisteas Bydliště,FLOOR(AVG(mprijem)) AS 'Průměrný měsíční příjem' FROM cvictabgroup BY bydlistehaving AVG(mprijem)>30000; ukazují působení klauzule HAVING.

Klauzule ORDER BY Řádky výsledku dotazu SELECTlze seřadit pomocí klauzule ORDER BY. Příkaz SELECT CONCAT(jmeno," ",prijmeni) AS Občan, bydlisteas Bydliště, mprijemas 'Měsíční příjem' FROM cvictaborder BY bydliste, mprijem DESC; vypíše řádky tabulky cvictabřazené podle bydliště (vzestupně) a podle příjmu (sestupně).

Funkce MySQL Server MySQLnabízí celou řadu vestavěných operátorů a funkcí. V následujícím příkazu je užito funkcí CONCAT pro spojení řetězců a DATE_FORMAT pro formátovaný výpis data. SELECT CONCAT(jmeno," ",prijmeni) AS Jméno a příjmení, DATE_FORMAT(datnar, '%e.%c. %Y') AS 'Datum narození' FROM cvictab ORDER BY datnar DESC; Výsledek dotazu bude řazen podle data narození sestupně, což znamená od osoby nejmladší po nejstarší.

Agregační funkce Některé funkce jsou určeny pro použití s klauzulí GROUP BY a říká se jim agregační funkce. Jedná se například o funkce avg, count, min, max, std, sum. Následující příkaz SELECT CONCAT(jmeno," ",prijmeni) AS 'Jméno a příjmení', bydlisteas Bydliště, MAX(mprijem) AS 'Měsíční příjem' FROM cvictab GROUP BY pohlavi; vypíše muže a ženu s nejvyšším příjmenz tabulky cvictab.

Použitá literatura Mach, Jakub. PHP pro úplné začátečníky. 2. přepracované a rozšířené vydání. 1. vydání. Brno: CP Books a. s., 2005. 168 s. ISBN 80-7226-834-1 Naramore, E., Gerner, J., LeScouarnec, Y., Stolz, J., Glass, M. Vytváříme webové aplikace v PHP5, MySQLa Apache. 1. vydání. Brno: ComputerPress, a.s., 2006. 813 s. ISBN 80-251-1073-7 Lacko, Luboslav. PHP a MySQLHotová řešení. 1. vydání. Brno: CP Booksa. s., 2005. 300 s. ISBN 80-251-0397-8 Krejčí, Lukáš. PHP Kapesní přehled. 1. vydání. Brno: ComputerPress, a.s., 2006. 107 s. ISBN 80-251-0808-2 Materiál je určen k bezplatnému používání pro potřeby výuky a vzdělávání na všech typech škol a školských zařízení. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je : : Jan Pospíchal Pokud není uvedeno jinak, byly při tvorbě použity volně přístupné internetové zdroje. Autor souhlasí se sdílením vytvořených materiálů a jejich umístěním na www.ssstavji.cz.