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

  1. 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
  2. POKORNÝ, Jaroslav a Ivan HALAŠKA. Databázové systémy: vybrané kapitoly a cvičení. 2. přepr. vyd. Praha: Karolinum, 1998. ISBN 8071846872.
  3. W3schools.com [online]. [cit. 2017-01-03]. Dostupné z: http://www.w3schools.com/sql/default.asp

Související články

Klíčová slova

SQL, dotazovací jazyk, databáze

Plume pen w.svg Tento článek je pahýl. Neobsahuje dostatečné množství informací o daném tématu či jej neprobírá do dostačující hloubky. Bude-li to možné, rozšiřte tento článek o další relevantní informace.