MySQL, rsp. SQL v⌠bec pon·ka ve╛a sp⌠sobov, ktorΘ sl·₧ia na manipulßciu s dßtami v databßze a zvyÜuj· tak komfort prßce. Jedn²m z najznßmejÜφch, najpou₧φvanejÜφch a naju₧itoΦnejÜφch prφkazov SQL jazyka je urΦite prφkaz SELECT.
Z SQL pomocou tohto prφkazu m⌠₧eme doslova vytiahn·¥ ka₧d² d⌠le₧it² ·daj, naplni¥ ka₧d· tabu╛ku potrebn²mi dßtami a vyrieÜi¥ mnoho situßciφ z h╛adiska prßce s db.
Po∩me sa teda Selectu pozrie¥ trochu bli₧Üie na z·bky a ozrejmime si pßr d⌠le₧it²ch vecφ, ktorΘ je potrebnΘ vedie¥ pri prßci s db.
V zßvere minulej Φasti nßÜho serißlu sme si ukßzali zßkladn² prφkaz na "vytiahnutie" dßt z naÜej tabu╛ky authors1, ktor² vypadal asi nasledovne:
mysql> SELECT * from authors1;
Tento prφkaz nßm zobrazφ naÜu tabu╛ku s kompletn²mi ·dajmi ktorΘ obsahuje. Prφkaz SELECT toho dokß₧e vÜak podstatne viac a o tom si hne∩ povieme.
Zßkladnß schΘma vypßda nasledovne:
SELECT //zoznam v²stupn²ch polo₧iek//
FROM //zoznam tabuliek//
WHERE //podmienka//
GROUP BY //zoznam polo₧iek//
HAVING //skupinovß podmienka//
ORDER BY //zotrie∩ pod╛a ...//
Teraz si sk·sme aplikova¥ niektorΘ podmienky prakticky a ukß₧eme si nßzornΘ pou₧itie na naÜej pokusnej tabu╛ke authors1.
Ak naprφklad chceme vypφsa¥ zoznam vÜetk²ch ·dajov v tabu╛ke pou₧ijeme hviezdiΦku (vi∩ vyÜÜie). Ak vÜak chceme vypφsa¥ len niektorΘ polo₧ky, pou₧ijeme nasledovn· podnienku:
mysql> SELECT id, autor FROM authors1;
T²m s· stσpce okrem id a autor ignorovanΘ a zobrazφ sa nßm u₧ zredukovanß tabu╛ka:
+----+------------+
| id | autor |
+----+------------+
| 1 | Jan Kratky |
+----+------------+
1 row in set (0.06 sec)
Povedzme, ₧e mßme tabu╛ku ₧iakov jednΘho roΦnφka na naÜej Ükole a potrebujeme zisti¥ priemern² vek v tejto triede (samozrejme za predpokladu, ₧e ·daj o veku jednotliv²ch ₧iakov je obsiahnut² v naÜej tabu╛ke). V SQL to je jednoduchΘ zisti¥, preto₧e poznßme funkciu Avg(nazov_polozky). Prφkaz SELECT bude potom vypada¥ nasledovne:
mysql>SELECT Avg(Vek) FROM 4_rocnik;
Za predpokladu ₧e existuje tabu╛ka 4_rocnik a v nej polo₧ka Vek nßm tento prφkaz vyselektuje priemern² vek ₧iakov na v²stup.
╧alÜia d⌠le₧itß funkcia sa t²ka zrßtania vÜetk²ch ·dajov v tabu╛ke. Ak teda chceme zisti¥ poΦet zadefinovan²ch autorov v tabu╛ke authors1, pou₧ijeme nasledovn² prφkaz:
mysql>SELECT Count(*) FROM authors1;
V²sledok bude vypada¥ takto:
+----------+
| Count(*) |
+----------+
| 1 |
+----------+
(NaÜa tabu╛ka authors1 teda obsahuje jeden zßznam)
Ke∩₧e prφkaz SELECT je ve╛mi frekventovan² a taktie₧ jeho pou₧itie je rozmanitΘ, do jednej Φasti sa nßm jeho podstatnejÜie vysvetlenie nezmestφ. preto budeme v objasnovanφ jeho mo₧nostφ pokraΦova¥ nabud·ce.