More actions
Bez shrnutí editace |
d oprava preklepu |
||
Riadok 20: | Riadok 20: | ||
# '''Jednoduchý (single-row) poddotaz:''' | # '''Jednoduchý (single-row) poddotaz:''' | ||
#* Vráti | #* Vráti presne jeden riadok, používa sa s operátormi porovnania (<code>=</code>, <code><</code>, <code>></code>) ;<syntaxhighlight lang="sql"> | ||
SELECT meno FROM zamestnanci | SELECT meno FROM zamestnanci | ||
WHERE plat > ( | WHERE plat > ( |
Aktuálna revízia z 18:13, 11. január 2025
Hlavné SQL príkazy, filtrovanie dát a agregačné dotazy.
Hlavné SQL príkazy
Manipulácia s údajmi
INSERT
, UPDATE
, DELETE
, SELECT
Definovanie štruktúry
CREATE
, ALTER
, DROP
, VIEW
Filtrovanie dát
WHERE
, GROUP BY
, HAVING
Poddotazy
Poddotaz je SQL dotaz vložený do iného dotazu. Slúži na získanie medzivýsledkov, ktoré sa následne použijú v hlavnom dotaze. Poddotazy môžu byť použité v rôznych častiach SQL príkazu, ako sú klauzuly SELECT
, WHERE
, alebo FROM
.
Rozlišujeme niekoľko typov poddotazov:
- Jednoduchý (single-row) poddotaz:
- Vráti presne jeden riadok, používa sa s operátormi porovnania (
=
,<
,>
) ;SELECT meno FROM zamestnanci WHERE plat > ( SELECT AVG(plat) FROM zamestnanci ); -- mená zamestnancov, ktorých plat je vyšší ako priemerný plat všetkých zamestnancov
- Vráti presne jeden riadok, používa sa s operátormi porovnania (
- Viacriadkový (multi-row) poddotaz:
- Vráti viacero riadkov, používa sa s klauzulami
IN
,ANY
,ALL
;SELECT meno FROM zamestnanci WHERE oddelenie_id IN ( SELECT oddelenie_id FROM oddelenia WHERE mesto = 'Bratislava' ); -- mená zamestnancov, ktorí pracujú v oddeleniach so sídlom v Bratislave
- Vráti viacero riadkov, používa sa s klauzulami
- Viacstĺpcový (multi-column) poddotaz:
- Vráti viacero riadkov a stĺpcov (atribútov), používa sa najmä v klauzule
EXISTS
alebo pri vkladaní dát.SELECT * FROM produkty WHERE (cena, pocet_v_sklade) IN ( SELECT cena, pocet_v_sklade FROM dodavky WHERE dodavatel_id = 3 ); -- produkty, ktoré majú rovnakú cenu a množstvo ako dodávky od dodávateľa č. 3
- Vráti viacero riadkov a stĺpcov (atribútov), používa sa najmä v klauzule
- Odvodená tabuľka (poddotaz v klauzule
FROM
):- Výsledok poddotazu sa správa ako dočasná tabuľka;
SELECT oddelenie_id, AVG(plat) FROM ( SELECT * FROM zamestnanci WHERE vek > 30 ) AS podtabulka GROUP BY oddelenie_id; -- priemerné platy v oddeleniach, ale iba pre zamestnancov starších ako 30 rokov
- Výsledok poddotazu sa správa ako dočasná tabuľka;
Agregačné funkcie
Agregačné funkcie slúžia na zhrnutie (agregáciu) hodnôt v skupinách alebo nad celou tabuľkou.
Patria sem napríklad funkcie AVG()
, MIN()
, MAX()
, COUNT()
a SUM()
.