350 likes | 476 Vues
Úvod do databázových systémů. Cvičení 03 SQL Select. Ing. Pavel Bednář pavel.bednar@vsb.cz http://pavelbednar.aspone.cz. SQL. SQL je zkratka anglických slov Structured Query Language Standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích.
E N D
Úvod do databázových systémů Cvičení 03 SQL Select Ing. Pavel Bednář pavel.bednar@vsb.cz http://pavelbednar.aspone.cz
SQL • SQL je zkratka anglických slov StructuredQueryLanguage • Standardizovaný dotazovací jazyk používaný pro práci s daty v relačních databázích. • Čtyři základní skupiny • Příkazy pro manipulaci s daty (SELECT, INSERT, UPDATE, DELETE, …) • Příkazy pro definici dat (CREATE, ALTER, DROP, …) • Příkazy pro řízení přístupových práv (GRANT, REVOKE) • Příkazy pro řízení transakcí (START TRANSACTION, COMMIT, ROLLBACK)
Select • Výběr sloupců • SelectcoFromodkud
Select • Select * from Student
Select • Select Věk, Příjmení from Student
Select • Select Věk as Stáří, Příjmení from Student
Select • Výběr sloupců • SelectcoFromodkud • SelectcoFromodkud Wherepodmínka
Podmíněný select • SelectVěk, Příjmení from Student where (Věk=“25“)
Podmíněný select • SelectVěk, Příjmení from Student where (Věk>“25“)
Podmíněný select • Select Věk, Příjmení from Student where (Věk<>“28“)
Operátor between • Select * from Student where (Věk between24 AND 29)
Operátor not between • Select * from Student where (Věk notbetween24 AND 29)
Operátor in • Select * from Student where (Věk in (24,29,28))
Operátor not in • Select * from Student where (Věk notin (24,29,28))
Operátor is • Select * from Student where (Věk isnull)
Operátor is not • Select * from Student where (Věk is not null)
Operátor like • Select * from Student where (Příjmení like “D%“)
Operátor SUM • SelectSUM(Věk) as CelkovýVěkfrom Student
Operátor AVG • SelectAVG(Věk) as PrůměrnýVěkfrom Student
Operátor Count • SelectCount(*) as PočetStudentůfromStudent
Operátor Count • SelectCount(*) as PočetStudentůfromStudent where(Věk > 20)
Operátor Min • SelectMIN(Věk) as Nejmladší fromStudent
Operátor Max • SelectMAX(Věk) as Nejstarší fromStudent
Operátor Group By • SelectRočník, Count(*) as PočetStudentůfromStudent group by Ročník
Operátor Order By • Select*fromStudent order by Příjmení, Jméno
Operátor Order By • Select*fromStudent order by Příjmení desc, Jméno asc
Operátor Concat • Selectlogin, (Jméno+‘ ‘+Příjmení) as CeléJménofromStudent
Operátor Distinct • Selectdistinct Ročník fromStudent
Logické operátory • Select *fromStudent where(Ročník=1) OR (Věk<23)
Join • Select *fromStudent s JOIN Fakulta f ONs.id_fakulta=f.id_fakulta • Select * from, Student s. Faktura f WHEREs.id_fakulta=f.id_fakulta
Exists • Vrať studenty, kteří neměli letos žádné vyznamení. • Select *fromStudent WHERE NOTEXISTS(SELECT * fromVyznameniWHERE rok=2012)
Další příkazy • LEFT (sloupec, počet_znaků) • RIGHT (sloupec, počet_znaků) • ROUND (sloupec, počet míst) • LOWER (sloupec) • UPPER (sloupec) • REVERSE (sloupec) • CHARINDEX (vyraz1, vyraz2 [,start_pozice]) • REPLACE (sloupec, co_nahradit, za_co) • SUBSTRING (sloupec, start, kolik_znaků) • LEN (sloupec)
Další příkazy • UNION • EXCEPT • INTERSECT • JOIN (INNER JOIN) • LEFT JOIN (LEFT OUTER JOIN) • RIGHT JOIN (RIGHT OUTER JOIN)
Příklady k procvičení Clen(rc,jmeno,prijmeni,email) Titul(cislo_titulu,nazev_cez, nazev_angl, delka) Pujceno(rc,cislo_titulu,datum) • Číslo titulu, který byl alespoň jednou půjčen • Číslo titulu, který dosud nebyl půjčen • RČ člena, který si půjčil film číslo 123 • RČ člena, který si půjčil alespoň jeden film, ale ne film 123 • RČ člena, který si nepůjčil film 123
Příklady k procvičení Clen(rc,jmeno,prijmeni,email) Titul(cislo_titulu,nazev_cez, nazev_angl, delka) Pujceno(rc,cislo_titulu,datum) • RČ člena, který si půjčil jiný film než 123 • RČ člena, který si půjčil pouze film 123 • Najděte názvy filmů, které byly alespoň jednou půjčeny • Najděte jména členů, kteří si dosud nepůjčili žádný film • Najděte názvy filmů, které si půjčili členové s příjmením Novák