Príkaz SQL SELECT
SQL (Structured Query Language) je programovací jazyk 4. generácie a the Jazyk pre nastavenie, správu a dopytovanie relačných databáz. Bola vyvinutá spoločnosťou IBM ako súčasť výskumného projektu a medzinárodne štandardizovaná v roku 1987. (Takmer) všetky databázové systémy pracujú s týmto jazykom.

Klasifikácia funkcií SQL
Príkazy SQL sú rozdelené do troch tried:
DDL - jazyk definície údajov
Príkazy na definovanie tabuliek a iných dátových štruktúr
DCL - jazyk riadenia údajov
Príkazy na kontrolu prístupových práv
DML - jazyk pre manipuláciu s údajmi
Príkazy na manipuláciu s údajmi a dotazy na ne
| super | DDL | DCL | DML |
| Príklady | Vytvoriť databázu VYTVORIŤ DATABÁZU | Udeliť prístupové práva GRANT | Dopytová tabuľka VYBERTE |
| Vytvorte tabuľku VYTVORIŤ TABUĽKU | Odvolať prístupové práva ODVOLAŤ | Odstrániť riadok tabuľky ODSTRÁNIŤ | |
| Zmeniť štruktúru tabuľky ZMENIŤ TABUĽKU | Vložte riadok tabuľky VLOŽTE | ||
| Odstrániť tabuľku TABUĽKA DROP | Zmena údajov tabuľky AKTUALIZÁCIA | ||
| Premenovať tabuľku PREJMENOVAŤ | |||
| Vytvorte virtuálnu tabuľku VYTVORIŤ ZOBRAZENIE |
Príkaz DML SELECT
Dotaz SQL sa vykonáva príkazom SELECT, ktorý špecifikuje až šesť komponentov. Všeobecná syntax má formu:
VYBERTE [VŠETKY | ODLIŠNÝ]
Z tabuľky [alias] [tabuľka [alias]] .
[KDE]
[Rozdeliť SKUPINU PODĽA [HAVING]]
[OBJEDNAŤ PODĽA stĺpcov [ASC | DESC]. ];
Zložitú syntax môžeme chápať takto:
| doložka | Vysvetlenie |
| VYBERTE [DISTINCT] | Vyberte si hodnoty zo stĺpca (stĺpcov) [viac záznamov iba raz]. |
| ZO | . von stôl alebo stoly . |
| KDE | . v ktorom podmienka (podmienky) by mali byť splnené . |
| SKUPINA PODĽA | . a skupina výstup všetkých riadkov s rovnakou hodnotou atribútu do jedného . |
| MAJÚCI | . byť v tom musia/musia platiť nasledujúce dodatočné podmienky . |
| OBJEDNAŤ [ASC/DESC] | . a zoradiť podľa stĺpcov [vzostupne alebo zostupne]. |
Príkazy SQL majú dĺžku až 256 znakov a musia byť ukončené bodkočiarkou. Identifikátory atribútov, ktoré obsahujú medzery alebo interpunkčné znamienka, musia byť umiestnené v hranatých zátvorkách.
Výber v SQL
Od stola Študent mali by byť vybrané všetky riadky, ktoré obsahujú názov "Mьller".
Výber má formu: SName = 'Mьller' (študent)
Prevod v SQL je: SELECT * FROM student WHERE Name = 'Mueller';
Doložka WHERE preto poskytuje výber. Na zobrazenie toho, že vo výstupnej tabuľke by sa mali zobraziť všetky stĺpce, sa používa žolík - symbol percenta alebo v MS-ACCEES symbol hviezdy -.
Teraz chcete od stola Študent mali by byť vybrané všetky riadky, ktoré obsahujú meno "Mьller" a ktorých meno začína na "O".
Výber má formu: SName = 'Mьller' A krstné meno začína na 'O' (žiak)
Implementácia v jazyku SQL je: SELECT * FROM pupil WHERE name = 'Müller' A meno LIKE 'O%';
Podmienky je možné použiť s AND, OR a NIE odkaz. Symbol hviezdy stojí ako zástupný symbol pre ľubovoľnú postupnosť znakov. Ak sa má skryť jeden znak, otáznik sa použije ako zástupný znak. PÁČI SA MI TO sa používa v zmysle „TAK AKO“.
| operátor | Vysvetlenie |
| = => <> | porovnáva jednu hodnotu atribútu s inou alebo konštantou Rovnosť, nerovnosť menšia, menšia alebo rovná, väčšia alebo rovná, väčšia ako |
| MEDZI. A . | porovnáva, či hodnota atribútu leží medzi dvoma limitmi |
| IN (.) | porovnáva, či je hodnota atribútu prvkom množiny |
| PÁČI SA MI TO | porovnanie reťazcov používajúcich operátory podobnosti s rozdielom medzi malými a veľkými písmenami: %: Zástupný symbol pre ľubovoľný znak (v programe MS Access: *) _: Zástupný znak pre znak (v MS-Access:?) |
| NIE JE (NIE) NULL | Skontroluje, či je (ne) hodnota atribútu nedefinovaná |
Projekcia v SQL
Od stola Študent všetky stĺpce s atribútom „Názov“ by mali byť premietnuté.
Projekcia má formu: PNname (student)
Implementácia v jazyku SQL je: VYBERTE Meno OD študenta;
Na rozdiel od projekcie podľa relačnej algebry zobrazuje SQL všetky viaceré položky. Aby sa tomu zabránilo, musí sa do príkazu SELECT pridať atribút DISTINCT.
Implementácia v jazyku SQL je: SELECT DISTINCT Name FROM student;
Klauzula SELECT preto poskytuje projekciu.
Vykonávanie projekcie a výberu jeden po druhom
Od stola Študent mali by sa zobraziť krstné mená všetkých študentov, ktorých priezvisko je Müller.
Dotaz má nasledujúcu formu: PVorname (SName = 'Mьller' (študent))
Implementácia v jazyku SQL je: VYBERTE krstné meno OD ŽIAKA KDE meno = 'Müller';
Spracovanie príkazu SQL sa vždy vykonáva zvnútra, t.j. H. najskôr výber, potom projekcia.
Pripojte sa k SQL
Z tabuliek pre študentov a kurzy by mala byť vytvorená tabuľka. Spoločným atribútom je SNr.
Implementácia v SQL je:
VYBERTE *
OD študentov VNÚTORNÉ PRIPOJTE sa ku kurzom ON students.no = courses.no
OBJEDNÁVKA podľa kurzov. Zmeškané hodiny DESC;
Výsledkom je a VNÚTORNÉ PRIPOJENIE, Výsledná tabuľka je zoradená zostupne podľa absentujúcich hodín. Takýto výsledok bude i. d. Spravidla sa nechce. Často stačí iba niekoľko stĺpov kompozitu - PRÍRODNÉ SPOJENIE.