První zadání
Mějme tabulky (primární klíč označen podrtženě, cizí klíč kurzívou) ZÁKÁZNÍK (id-z, jméno, kredit), SPOJ (kod, dopravce, start, cíl), JÍZDENKA(id-j, kod, id-z, datum, odkud, kam, cena)
všechny atributy jsou NOT NULL, význam a typy některých atributů: kredit - kredit, za který si zákazník může kupovat jízdenky (int); start, cíl - odkud kam jezdí daný spoj (varchar); odkud, kam - odkud kam jel daný zákazník na danou jízdenku (varchar);
Zapište v SQL dotazy
- Vypište všechny zákazníky s nenulovým kreditem
- Vypište zákazníky, kteří jeli spojem v celé jeho trase
- Vypište počet cestujících, kteří jeli včera s Regiojetem z Brna do Prahy
- Vypište jména zákazníku, kteří nikdy nejeli do Ostravy.
- Vypište kódy spojů do Telče s počty cestujících, v nichž jelo včera víc než 40 lidí,
- Přidejte k tabulce Spoj nový datumový sloupce Jezdí-od, který bude NOT NULL. Nezapomeňte reflektovat možný konflikt v případě, že tabulka již obsahuje nějaké data
- Odstraňte ze sloupce
dopravce
v tabulceSpoj
integritní omezení NOT NULL
Druhé zadání
Mějme tabulky (primární klíč označen podrtženě, cizí klíč kurzívou) KLIENT (id-klient, jméno-klient, kredit), KURS (název-kurs, popis, trvání), LEKTOR(id-lektor, jméno-lektor, kvalifikace), TRÉNINK(id-trénink, id-lektor, název-kurs, datum,čas), ÚČAST(id-trénink ,id-klient, cena).
Zapište v SQL dotazy
- Vypište všechny klienty, jejichž jméno končí na "ová".
- Vypište tréninky (pouze atributy tréninků), které odcvičili včera lektoři s kvalifikací "Fyzioterapeut".
- Vypište celkovou cenu tréninků jógy tento týden.
- Vypište názvy kursů a pro každý z nich celkový počet v minulosti odcvičených tréninků a jejich celkovou cenu, seřaďte sestupně podle počtu tréninků.
- Vypište
id
ajména lektorů
spolu s počtem odcvičených klientů (různých: každý klient se zde počítá jen jednou), kteří mají tento počet vyšší než 50. - Vypište jména klientů, kteří se zůčastnili všech tréninků krav-magy, které se kdy konaly.
- Vypište všechny kursy, trvající méně než dvě hodiny
- Vypište jména a kredit klientů, kteří v minulém týdnu cvičil s lektorkou Janou
- Přidejte k tabulce Klient nový textový sloupec Bydliště, který bude NOT NULL. Nezapomeňte reflektovat možný konflikt v případě, že tabulka již obsahuje nějaká data.
- Vypište id a jména klientů a pro každého z nich celkový počet absolvovaných tréniků a jejich celkovou cenu, seřaďte sestupně podle počtu tréninků. Správně ošetřete případy klientů, kteří zatím neabsolvovali žádný trénink.
- Vypište jména lektorů spolu s počtem odcvičených klientů (různých: každý klient se zde počítá jen jednou) v kursu "krav maga", kteří mají tento počet vyšší než 100.
- Zvyšte ceny tréninků s id=11 o 20%.
Třetí zadání
Mějme následující tabulky pro evidenci studentů, předmětů a jejich přihlášek (primární klíče označeny podtržením, cizí klíče kurzívou):
STUDENT (id_student, jméno, příjmení, rok_narození) PŘEDMĚT (id_předmět, název, kredity) PŘIHLÁŠKA (id_student, id_předmět, datum_přihlášení)
Vytvořte SQL dotazy pro následující úkoly:
- Vypište všechny studenty z tabulky "STUDENT".
- Vypište názvy všech předmětů.
- Vypište jména a příjmení studentů, kteří jsou přihlášeni k předmětu s názvem "Matematika".
- Vypište počet přihlášek na každý předmět.
- Vypište studenty, kteří jsou přihlášeni alespoň ke třem předmětům.
- Vypište předměty, které mají více než 5 kreditů.
- Vypište studenty, kteří se přihlásili k předmětu alespoň před rokem 2020.
Čtvrté zadání
Mějme následující tabulky pro evidenci zaměstnanců, oddělení, projektů a jejich propojení (primární klíče označeny podtržením, cizí klíče kurzívou):
ZAMĚSTNANCI (id_zaměstnanec, jméno, příjmení, pozice) ODDĚLENÍ (id_oddělení, název, vedoucí_oddělení) PROJEKTY (id_projekt, název, popis) PROPIS (id_zaměstnanec, id_oddělení, id_projekt, datum_nástupu)
Vytvořte SQL dotazy pro následující úkoly:
- Vypište všechny zaměstnance z tabulky "ZAMĚSTNANCI".
- Vypište názvy všech oddělení.
- Vypište názvy všech projektů.
- Vypište zaměstnance, kteří jsou vedoucími oddělení.
- Vypište zaměstnance, kteří pracují na projektu s názvem "Nový produkt".
- Vypište počet zaměstnanců v každém oddělení.
- Vypište názvy projektů, na kterých pracuje alespoň 3 zaměstnanci.
Páté zadání
Mějme následující tabulky pro evidenci filmů, herců, žánrů, režisérů, ocenění a jejich propojení (primární klíče označeny podtržením, cizí klíče kurzívou):
FILMY (id_film, název, rok, id_režisér, idžánr_)
HEREC (id_herec, jméno, příjmení)
ŽÁNR (idžánr_, název)
REŽISÉR (id_režisér, jméno, příjmení)
OCENĚNÍ (id_ocenění, název, rok)
HEREC*FILM (***id_herec**, **id_film**)
FILM_OCENĚNÍ (**id_film**, **id_ocenění_**)
Vytvořte SQL dotazy pro následující úkoly:
- Vypište všechny filmy z tabulky "FILMY".
- Vypište jména všech herců.
- Vypište názvy všech žánrů.
- Vypište jména všech režisérů.
- Vypište filmy, ve kterých hrál herec s jménem "Tom" a příjmením "Hanks".
- Aktualizujte rok filmu s názvem "Titanic" na 1997.
- Vytvořte nový záznam v tabulce "OCENĚNÍ" pro film s názvem "Pulp Fiction" a rokem 1994.
- Smažte záznam z tabulky "HEREC_FILM", který propojuje herce s ID 3 a film s ID 7.
- Vypište filmy, které získaly ocenění v roce 2020.
- Vypište počet ocenění, které získal film s názvem "Titanic".