Příkaz Select, jeho využití v databázi Knihovna
Příklady
Vypiš všechny data z tabulky dílo.
SELECT *
FROM Dilo;
Vypiš příjmení všech autorů.
SELECT pri_aut
FROM Autor;
Z výtisků vypiš všechny signatury a ceny (v pořadí signatura, cena).
SELECT signatura, cena
FROM Vytisk;
Vypiš z tabulky výpůjčka datumy výpůjčky a datumy vrácení tak, aby měli sloupce názvy "datum vypujcky" a "datum vraceni".
SELECT dat_od AS datum_vypujcky, dat_do AS datum_vraceni
FROM Vypujcka;
Vysvětlení: v datum_vraceni je "_" místo mezery, protože SQL by jinak za mezerou čekal další klíčové slovo/příkaz.
Vypiš z tabulky pokut id pokuty jako "cislo pokuty" a výšku pokuty ze dne 28.12.2016.
SELECT id_pok AS cislo_pokuty, vyse_pok
FROM Pokuta
WHERE dat_pok="28122016";
Vysvětlení: datum píšeme v uvozovkách, protože se jedná o řetězec. Jenom datový typ CHAR vypisujeme v uvozovkách, datový typ Integer a Decimal vypisujeme bez uvozovek.
Vypiš z tabulky čtenář id jako "cislo ctenare", příjmení jako "prijmeni" a adresu všech čtenářů, kteří se jmenují "Pavel".
SELECT id_cte AS cislo_ctenare, pri_cte AS prijmeni, adresa
FROM Ctenar
WHERE jme_cte = "Pavel";
Z tabulky Vydání vypiš všechno o vydáních, které mají id díla "20" a rok vydání "2016".
SELECT *
FROM Vydani
WHERE id_dilo = 20
AND rok_vyd = "2016";
Přepoj dílo "Těžký časy" s autorem "Charles Bukowski" v tabulce autorství.
SELECT id_dilo
FROM Dilo
WHERE nazev = "Těžký časy";
(Systém ukáže id, např. 12)
SELECT id_aut
FROM Autor
WHERE jme_aut = "Charles"
AND pri_aut = "Bukowski";
(Systém ukáže id, např. 21)
INSERT INTO Autorstvi(id_dilo, id_aut)
VALUES(12, 21);
Vypiš všechny čtenáře, kteří si nikdy nic nevypůjčili.
SELECT *
FROM Ctenar
WHERE id_cte NOT IN (SELECT id_cte FROM Vypujcka);
Vypiš součet všech pokut.
SELECT SUM(vyse_pok)
FROM Pokuta;
Vypiš nejdražší a nejlevnější výtisk daného díla.
SELECT MAX(cena), MIN(cena)
FROM Vytisk
GROUP BY id_dilo;
Vstupní parametr SELECT neobsahuje AND. Jenom za WHERE následuje AND.
Zjisti, kolik máme autoru v databázi.
SELECT COUNT(*) AS pocet_autoru FROM Autor;
Vysvětlení: * je tady v závorce, protože je to parametr agregační funkce.
Zjisti průměrnou cenu výtisků.
SELECT AVG(cena) FROM Vytisk;
Uveď průměrnou cenu výtisků. Sloupec nazvi průměrná cena.
SELECT AVG(cena) AS prumerna_cena FROM Vytisk;
[1][2][3]
Odkazy
Reference
- ↑ Basic SQL statements: DDL and DML. In: Database design with UML and SQL, 3rd edition [online]. [cit. 2016-12-24]. Dostupné z: http://www.tomjewett.com/dbdesign/dbdesign.php?page=ddldml.php
- ↑ POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy: vybrané kapitoly a cvičení. 2. přepr. vyd. Praha: Karolinum, 1998. ISBN 8071846872.
- ↑ W3schools.com [online]. [cit. 2017-01-03]. Dostupné z: http://www.w3schools.com/sql/default.asp
Související články
- Informační systém
- Databáze
- Popis prvků konceptuálních modelů, smysl konceptuálního modelu a příklad modelu Knihovny
- Transformace konceptuálního modelu na datový model, základní prvky datového modelu, specifikace úlohy primárních a cizích klíčů
- Popis definiční části jazyka SQL,specifikace deklarace primárních a cizích klíčů a příklady na modelu knihovny
- Manipulační část jazyka SQL (DML – insert, update, delete) a příklady na databázi Knihovna
Klíčová slova
SQL, dotazovací jazyk, databáze