130 likes | 233 Views
DML data manipulation language (príkaz SELECT). Spracoval: Ing. Michal COPKO. Upozornenie. Syntax príkazov, ktorá bude popisovaná v tejto prezentácii nie je úplná ale pre potreby výučby databázových systémov vo štvrtom ročníku stredných odborných škôl je postačujúca. Vysvetlivky.
E N D
DML data manipulation language(príkaz SELECT) Spracoval: Ing. Michal COPKO
Upozornenie • Syntax príkazov, ktorá bude popisovaná v tejto prezentácii nie je úplná ale pre potreby výučby databázových systémov vo štvrtom ročníku stredných odborných škôl je postačujúca
Vysvetlivky • Časť príkazov v hranatých zátvorkách [] je nepovinná • Ak je v príkaze viac jeho častí oddelených znakom „pipe“ | znamená to výber jednej z týchto oddelených možností • Napríklad [a|b|c|d] je nepovinná časť príkazu v ktorej si môžete vybrať z možností a, b, c alebo d
Tabuľka • Všetky príklady v tejto prezentácii budem demonštrovať na nasledujúcich tabuľkách: CREATE TABLE interpret (id_interpret INT NOT NULL AUTO_INCREMENT PRIMARY KEY, meno VARCHAR (50), priezvisko VARCHAR (50), datum_narodenia DATE, bydlisko VARCHAR (255));
Tabuľka II. CREATE TABLE album (id_album INT NOT NULL AUTO_INCREMENT PRIMARY KEY, nazov VARCHAR (50), minutaz FLOAT, rok_vydania YEAR, id_interpret INT);
Výber všetkých záznamov • SQL príkaz, ktorý vyberie všetky údaje z tabuľky interpret Príkaz: SELECT * FROM interpret; Úloha: Vyberte všetky údaje z tabuľky album • SQL príkaz, ktorý vyberie 5 údajov z tabuľky album Príkaz: SELECT * FROM album LIMIT 5; Úloha: Vyberte 10 údajov z tabuľky interpret
Výber podľa podmienky • SQL príkaz, ktorý vyberie všetky údaje o albumoch z minutážou dlhšou ako 60 minút Príkaz: SELECT * FROM album WHERE minutaz>60 Úloha: Vyberte všetkých interpretov, ktorí sa narodili po roku 1960 • SQL príkaz, ktorý vyberie všetky údaje o interpretoch, ktorí majú meno Zuzana Príkaz: SELECT * FROM interpret WHERE meno=„Zuzana“ Úloha: Vyberte všetky údaje o albumoch, ktorých názov nie je Ale
Výber podľa zloženej podmienky • SQL príkaz, ktorý vyberie všetky údaje o albumoch z minutážou dlhšou ako 59 minút ale kratšou ako 62 minút Príkaz: SELECT * FROM album WHERE minutaz>59 AND minutaz<62 Úloha: Vyberte všetkých interpretov, ktorí sa narodili v 20. storočí • SQL príkaz, ktorý vyberie všetky údaje o interpretoch, ktorí majú meno Zuzana alebo Marika Príkaz: SELECT * FROM interpret WHERE meno=„Zuzana“ OR meno=„Marika“ Úloha: Vyberte všetky údaje o albumoch, ktoré boli vydané pred rokom 2000
Výber vybraných stĺpcov • SQL príkaz, ktorý vyberie údaje zo stĺpcov meno, priezvisko a datum_narodenia z tabuľky interpret Príkaz: SELECT meno, priezvisko, datum_narodenia FROM interpret Úloha: Vyberte údaje zo stĺpcov nazov a rok_vydania z tabuľky album, pre albumy, ktoré majú minutáž pod 55 minút • SQL príkaz, ktorý vyberie údaje zo stĺpcov meno, priezvisko a datum_narodenia z tabuľky interpret a nazve ich meno interpreta, priezvisko interpreta a datum Príkaz: SELECT meno AS „meno interpreta“, priezvisko AS „priezvisko interpreta“, datum_narodenia AS datum FROM interpret Úloha: Vyberte údaje zo stĺpcov nazov a rok_vydania z tabuľky album, pre albumy, ktoré majú minutáž 55 až 60 minút a nazvite stĺpce nazov albumu a vyadane
Výber QBE (query by example) • Pri výbere QBE vieme nahradiť jeden alebo viac znakov v reťazci špeciálnymi znakmi takzvanými wildcards a vyhľadávať tak podľa častí reťazcov • Napríklad chceme vybrať údaje o interpretoch, ktorí majú v priezvisku písmeno „a“ – teda okolo tohto písmena môže byť ľubovoľný počet ľubovoľných znakov Príkaz: SELECT * FROM interpret WHERE priezvisko LIKE „%a%“ Úloha: Vyberte všetky údaje z tabuľky interpret kde meno interpreta sa končí na a • SQL príkaz, ktorý vyberie všetky údaje z tabuľky album, kde prvé písmeno je ľubovoľné a ďalšie tri sú old – teda jedno prvé písmeno nahradíme špeciálnym znakom a dodáme zvyšok Príkaz: SELECT * FROM album WHERE meno LIKE „_old“ Úloha: Vyberte všetky údaje z tabuľky interpret, kde bydlisko interpreta sa začína na ľubovoľné dve písmená a ostatné sú nava
Výber z dvoch tabuliek • SQL príkaz, ktorý vyberie všetky údaje z tabuliek pričom ich spojí podľa cudzieho kľúča Príkaz: SELECT * FROM interpret,album WHERE interpret.id_interpret=album.id_interpret; alebo SELECT * FROM interpret i,album a WHERE i.id_interpret=a.id_interpret; Úloha: Vyberte údaje o názve, minutáži, roku vydania, mene a priezvisku všetkých albumov
Syntax SELECTu SELECT {zoznam stĺpcov|*} FROM nazvy_tabuliek [WHERE podmienka] [ORDER BY stlpec [ASC | DESC]] [LIMIT {[od_riadku,] pocet_riadkov | pocet_riadkov OFFSET od_riadku}]