<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sk">
	<id>http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sicko</id>
	<title>Kiwiki - Príspevky používateľa [sk]</title>
	<link rel="self" type="application/atom+xml" href="http://www.kiwiki.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sicko"/>
	<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php/%C5%A0peci%C3%A1lne:Pr%C3%ADspevky/Sicko"/>
	<updated>2026-06-20T11:38:51Z</updated>
	<subtitle>Príspevky používateľa</subtitle>
	<generator>MediaWiki 1.34.0</generator>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8280</id>
		<title>SQL - select</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8280"/>
		<updated>2010-11-23T10:47:32Z</updated>

		<summary type="html">&lt;p&gt;Sicko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Skripta_dbs}} {{Draft}} Príkaz SELECT sa používa pre výber dát z databázy. Výsledok je uložený v tabuľke výsledkov. &lt;br /&gt;
&lt;br /&gt;
== Syntax príkazu SELECT ==&lt;br /&gt;
&lt;br /&gt;
Základná syntax (zjednodušená) je &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky&lt;br /&gt;
&amp;lt;/source&amp;gt; Kompletná syntax je nasledujúca&amp;lt;ref&amp;gt;SQL syntax - http://dev.mysql.com/doc/refman/5.5/en/select.html&amp;lt;/ref&amp;gt;: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
[ALL | DISTINCT | DISTINCTROW ]&lt;br /&gt;
select_expr, ... &lt;br /&gt;
	[FROM table_references &lt;br /&gt;
	[WHERE where_condition] &lt;br /&gt;
	[GROUP BY {col_name | expr | position} &lt;br /&gt;
		[ASC | DESC], ... [WITH ROLLUP]] &lt;br /&gt;
	[HAVING where_condition] &lt;br /&gt;
	[ORDER BY {col_name | expr | position} [ASC | DESC], ...] &lt;br /&gt;
	[LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] &lt;br /&gt;
	[INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] &lt;br /&gt;
	[FOR UPDATE | LOCK IN SHARE MODE]]&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: Výrazy v hranatých zátvorkách sú nepovinné, hodnoty oddelené čiarou (|) v zložených zátvorkách znamenajú výberj jednoej hodnoty z viacerých. &lt;br /&gt;
&lt;br /&gt;
=== SELECT výber všetkých údajov ===&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice         || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov         || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
|    1 || Kabul          || AFG         || Kabol              ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|    2 || Qandahar       || AFG         || Qandahar           ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
|    3 || Herat          || AFG         || Herat              ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
|    4 || Mazar-e-Sharif || AFG         || Balkh              ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
|    5 || Amsterdam      || NLD         || Noord-Holland      ||     731200 &lt;br /&gt;
|-&lt;br /&gt;
|    6 || Rotterdam      || NLD         || Zuid-Holland       ||     593321 &lt;br /&gt;
|-&lt;br /&gt;
|    7 || Haag           || NLD         || Zuid-Holland       ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
|    8 || Utrecht        || NLD         || Utrecht            ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľkt city. Vo výbere bude len názov mesta a populácia. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT Name, Population from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!name           &lt;br /&gt;
!population &lt;br /&gt;
|-&lt;br /&gt;
| Košice         ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| Prešov         ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| Kabul          ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
| Qandahar       ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
| Herat          ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
| Mazar-e-Sharif ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam      ||    731200 &lt;br /&gt;
|-&lt;br /&gt;
| Rotterdam      ||    593321 &lt;br /&gt;
|-&lt;br /&gt;
| Haag           ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
| Utrecht        ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - alias ===&lt;br /&gt;
 &lt;br /&gt;
Môžete uviesť tabuľku alebo stĺpec iný názov pomocou aliasu. To môže byť dobrá vec, ak máte veľmi dlhé alebo zložité tabuľky mená alebo názvy stĺpcov.&lt;br /&gt;
&lt;br /&gt;
Alias meno mohlo byť čokoľvek, ale zvyčajne je to krátke.&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre tabuľky&lt;br /&gt;
&lt;br /&gt;
SELECT column_name(s)&lt;br /&gt;
FROM table_name&lt;br /&gt;
AS alias_name&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre stĺpce&lt;br /&gt;
&lt;br /&gt;
SELECT column_name AS alias_name&lt;br /&gt;
FROM table_name&lt;br /&gt;
&lt;br /&gt;
Príklad alias&lt;br /&gt;
&lt;br /&gt;
Predpokladajme, že máme tabuľku s názvom &amp;quot;Ľudia&amp;quot; a ďalšie tabuľky s názvom &amp;quot;Product_Orders&amp;quot;. Dáme tabuľky aliasy &amp;quot;p&amp;quot; a &amp;quot;po&amp;quot;, resp.&lt;br /&gt;
&lt;br /&gt;
Teraz chceme, aby zoznam všetkých objednávok, ktoré &amp;quot;Ola Hansen&amp;quot; odpovedá.&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
&lt;br /&gt;
SELECT po.OrderID, p.LastName, p.FirstName&lt;br /&gt;
FROM Persons AS p,&lt;br /&gt;
Product_Orders AS po&lt;br /&gt;
WHERE p.LastName='Hansen' AND p.FirstName='Ola'&lt;br /&gt;
&lt;br /&gt;
=== SELECT - obmedzenie počtu záznamov vo výsledku===&lt;br /&gt;
&lt;br /&gt;
LIMIT sa používa na obmedzenie MySQL výsledkov dotazu na tie, ktoré spadajú do určenom rozsahu. You can use it to show the first X number of results, or to show a range from X - Y results. Môžete ju použiť pre zobrazenie na prvej X počet výsledkov, alebo ukázať rozmedzí od X - Y výsledky. It is phrased as Limit X, Y and included at the end of your query . Je formulovaný ako Limit X, Y a zaradené na konci vášho dotazu . X is the starting point (remember the first record is 0) and Y is the duration (how many records to display). X je východiskový bod (spomeňte si na prvý záznam je 0) a Y je doba trvania (koľko záznamov na zobrazenie).&lt;br /&gt;
&lt;br /&gt;
Príklady:&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM `your_table` LIMIT 0, 10 &lt;br /&gt;
&lt;br /&gt;
Tým sa zobrazí prvých 10 výsledkov z databázy.&lt;br /&gt;
&lt;br /&gt;
SELECT * FROM `your_table` LIMIT 5, 5 &lt;br /&gt;
&lt;br /&gt;
To sa prejaví záznamov 6, 7, 8, 9 a 10&lt;br /&gt;
&lt;br /&gt;
Vo všetkých nasledujúcich príkladoch je na koniec SQL príkazu doplnený výraz &amp;quot;LIMIT 0,8&amp;quot;. Teda výsledkom dotazu je vždy maximálne 8 záznamov.&lt;br /&gt;
=== SELECT eliminácia duplicitných záznamov ===&lt;br /&gt;
&lt;br /&gt;
Pre elimináciu duplicitných záznamov vo výsledku dotazu slúži kľúčové slovo DISTINCT. &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky kódy krajín z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT CountryCode FROM city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
|-&lt;br /&gt;
| SVK         &lt;br /&gt;
|-&lt;br /&gt;
| AFG         &lt;br /&gt;
|-&lt;br /&gt;
| NLD         &lt;br /&gt;
|-&lt;br /&gt;
| ANT         &lt;br /&gt;
|-&lt;br /&gt;
| ALB         &lt;br /&gt;
|-&lt;br /&gt;
| DZA         &lt;br /&gt;
|-&lt;br /&gt;
| ASM         &lt;br /&gt;
|-&lt;br /&gt;
| AND         &lt;br /&gt;
|-&lt;br /&gt;
| AGO         &lt;br /&gt;
|-&lt;br /&gt;
| AIA         &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Aké formy vlády sú na jednotlivých kontinentoch? &lt;br /&gt;
&lt;br /&gt;
Vysvetlenie: Údaje o krajinách sú v tabuľke country. Pri každej krajine sú okrem iných aj informácie o forme vlády (GovernmentForm), kontinente, na ktorom sa nachádza (Continent). Keďže nás nezaujímajú samotné krajiny ale len kontinenty na ktorých ležia, dotazom ''SELECT Continent, GovernmentForm FROM country'' by sme dostali duplicitné záznamy, pretože na danom kontinente sú krajiny, ktoré majú rovnaké formy vlády. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT Continent, GovernmentForm FROM country&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! GovernmentForm                               &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Islamic Emirate                              &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| North America || Nonmetropolitan Territory of The Netherlands &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Africa        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       || US Territory                                 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Parliamentary Coprincipality                 &lt;br /&gt;
|-&lt;br /&gt;
| North America || Dependent Territory of the UK                &lt;br /&gt;
|-&lt;br /&gt;
| North America || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Emirate Federation                           &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT obmedzenie výberu ===&lt;br /&gt;
&lt;br /&gt;
Pre obmedzenie počtu výsledkov sa v príkaze SQL používa kľúčové slovo ''WHERE''. Za kľúčové slovo sa píše logická podmienka. Výsledkom dotazu sú záznamy, ktoré vyhovujú danej logickej podmienke. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky WHERE logicka_podmienka&lt;br /&gt;
&amp;lt;/source&amp;gt; '''Logická podmienka''' je výraz, ktorého výsledok môže byť pravda (true) alebo nepravda (false). V logickej podmienke sa používajú relačné operátory: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! = &lt;br /&gt;
| porovnanie&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší&lt;br /&gt;
|-&lt;br /&gt;
! IS NULL &lt;br /&gt;
| Test na hodnotu NULL&lt;br /&gt;
|-&lt;br /&gt;
! IS &lt;br /&gt;
| Test na logickú hodnotu true/false&lt;br /&gt;
|-&lt;br /&gt;
! LIKE &lt;br /&gt;
| Porovnávanie reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;!=, &amp;lt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| Operátor nerovnsti&lt;br /&gt;
|-&lt;br /&gt;
! NOT LIKE &lt;br /&gt;
| Negácia pri porovnávaní reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! BETWEEN &lt;br /&gt;
| Výber hodnoty z daného intervalu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha''': Vyberte všetky mestá, v ktorých je populácia väčšia ako 5 000 000. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population&amp;gt;5000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  206 || Sao Paulo       || BRA         || Sao Paulo      ||    9968485 &lt;br /&gt;
|-&lt;br /&gt;
|  207 || Rio de Janeiro  || BRA         || Rio de Janeiro ||    5598953 &lt;br /&gt;
|-&lt;br /&gt;
|  456 || London          || GBR         || England        ||    7285000 &lt;br /&gt;
|-&lt;br /&gt;
|  608 || Cairo           || EGY         || Kairo          ||    6789479 &lt;br /&gt;
|-&lt;br /&gt;
|  939 || Jakarta         || IDN         || Jakarta Raya   ||    9604900 &lt;br /&gt;
|-&lt;br /&gt;
| 1024 || Mumbai (Bombay) || IND         || Maharashtra    ||   10500000 &lt;br /&gt;
|-&lt;br /&gt;
| 1025 || Delhi           || IND         || Delhi          ||    7206704 &lt;br /&gt;
|-&lt;br /&gt;
| 1380 || Teheran         || IRN         || Teheran        ||    6758845 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá, ktoré majú kód krajiny &amp;quot;SVK&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá v ktorých je populácia medzi 1 a 2 miliónmi obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population between 1000000 and 2000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|   1 || Kabul      || AFG         || Kabol            ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|  70 || La Matanza || ARG         || Buenos Aires     ||    1266461 &lt;br /&gt;
|-&lt;br /&gt;
|  71 || Córdoba    || ARG         || Córdoba          ||    1157507 &lt;br /&gt;
|-&lt;br /&gt;
| 126 || Yerevan    || ARM         || Yerevan          ||    1248700 &lt;br /&gt;
|-&lt;br /&gt;
| 132 || Brisbane   || AUS         || Queensland      ||    1291117 &lt;br /&gt;
|-&lt;br /&gt;
| 133 || Perth      || AUS         || West Australia   ||    1096829 &lt;br /&gt;
|-&lt;br /&gt;
| 144 || Baku       || AZE         || Baki             ||    1787800 &lt;br /&gt;
|-&lt;br /&gt;
| 151 || Chittagong || BGD         || Chittagong       ||    1392860 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých názov začína na &amp;quot;Bra&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Name LIKE 'Bra%' &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  165 || Brahmanbaria      || BGD         || Chittagong       ||     109032 &lt;br /&gt;
|-&lt;br /&gt;
|  211 || Brasília          || BRA         || Distrito Federal ||    1969868 &lt;br /&gt;
|-&lt;br /&gt;
|  388 || Braganca Paulista || BRA         || Sao Paulo        ||     116929 &lt;br /&gt;
|-&lt;br /&gt;
|  468 || Bradford          || GBR         || England          ||     289376 &lt;br /&gt;
|-&lt;br /&gt;
|  743 || Brakpan           || ZAF         || Gauteng          ||     171363 &lt;br /&gt;
|-&lt;br /&gt;
| 1148 || Brahmapur         || IND         || Orissa           ||     210418 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak&amp;amp;nbsp;% (percento) zastupuje ľubovoľný počet znakov. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých kód krajiny začína na &amp;quot;N&amp;quot; a končí na &amp;quot;L&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode LIKE &amp;quot;N_L&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 2729 || Kathmandu    || NPL         || Central    ||     591835 &lt;br /&gt;
|-&lt;br /&gt;
| 2730 || Biratnagar   || NPL         || Eastern    ||     157764 &lt;br /&gt;
|-&lt;br /&gt;
| 2731 || Pokhara      || NPL         || Western    ||     146318 &lt;br /&gt;
|-&lt;br /&gt;
| 2732 || Lalitapur    || NPL         || Central    ||     145847 &lt;br /&gt;
|-&lt;br /&gt;
| 2733 || Birgunj      || NPL         || Central    ||      90639 &lt;br /&gt;
|-&lt;br /&gt;
| 3493 || Noumca       || NCL         || ?          ||      76293 &lt;br /&gt;
|-&lt;br /&gt;
| 3494 || Auckland     || NZL         || Auckland   ||     381800 &lt;br /&gt;
|-&lt;br /&gt;
| 3495 || Christchurch || NZL         || Canterbury ||     324200 &lt;br /&gt;
|-&lt;br /&gt;
| 3496 || Manukau      || NZL         || Auckland   ||     281800&lt;br /&gt;
|-&lt;br /&gt;
| 3497 || North Shore  || NZL         || Auckland   ||     187700 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak _ (podčiarkovník) zastupuje jeden znak. &lt;br /&gt;
&lt;br /&gt;
==== Spájanie viacerých podmienok ====&lt;br /&gt;
&lt;br /&gt;
Pre vytváranie komplikovanejších logických podmienok v príkaze SELECT slúžia logické spojky. Existujú dve logické spojky: &lt;br /&gt;
&lt;br /&gt;
*AND &lt;br /&gt;
**Výraz x AND y je pravdivý vtedy a len vtedy ak je pravdivý výrok x A ZÁROVEŇ je pravdivý výrok y &lt;br /&gt;
*OR &lt;br /&gt;
**Výraz x OR y je pravdivý vtedy ak je pravdivý výrok x ALEBO je pravdivý výrok y&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá vo Veľkej británii, v ktorých je populácia menšia ako 100tisíc obyvateľov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;GBR&amp;quot; and Population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 520 || Chelmsford || GBR         || England  ||      97451 &lt;br /&gt;
|-&lt;br /&gt;
| 521 || Colchester || GBR         || England  ||      96063 &lt;br /&gt;
|-&lt;br /&gt;
| 522 || Crawley    || GBR         || England  ||      97000 &lt;br /&gt;
|-&lt;br /&gt;
| 523 || Gillingham || GBR         || England  ||      92000 &lt;br /&gt;
|-&lt;br /&gt;
| 524 || Solihull   || GBR         || England  ||      94531 &lt;br /&gt;
|-&lt;br /&gt;
| 525 || Rochdale   || GBR         || England  ||      94313 &lt;br /&gt;
|-&lt;br /&gt;
| 526 || Birkenhead || GBR         || England  ||      93087 &lt;br /&gt;
|-&lt;br /&gt;
| 527 || Worcester  || GBR         || England  ||      95000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061 &lt;br /&gt;
|-&lt;br /&gt;
| 3339 || Praha      || CZE         || Hlavní mesto Praha ||    1181126 &lt;br /&gt;
|-&lt;br /&gt;
| 3340 || Brno       || CZE         || Jizní Morava       ||     381862 &lt;br /&gt;
|-&lt;br /&gt;
| 3341 || Ostrava    || CZE         || Severní Morava     ||     320041 &lt;br /&gt;
|-&lt;br /&gt;
| 3342 || Plzen      || CZE         || Zapadní Cechy      ||     166759 &lt;br /&gt;
|-&lt;br /&gt;
| 3343 || Olomouc    || CZE         || Severní Morava     ||     102702 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
    SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - usporiadanie výsledku ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme usporiadať podľa ľubovoľného stĺpca a to zostupne alebo vzostupne. Kľúčové slovo pre takého usporiadanie je ORDER BY. Poradie je určené slovom ASC (vzostupne) alebo DESC (zostupne) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa počtu obyvateľov vzostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Population ASC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa názvu mesta zostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Name DESC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
=== SELECT - výber z množiny hodnôt===&lt;br /&gt;
&lt;br /&gt;
V operátor umožňuje zadať viac hodnôt v klauzule WHERE.&lt;br /&gt;
&lt;br /&gt;
SQL v syntaxi&lt;br /&gt;
&lt;br /&gt;
SELECT column_name(s)&lt;br /&gt;
FROM table_name&lt;br /&gt;
WHERE column_name IN (value1,value2,...)&lt;br /&gt;
&lt;br /&gt;
V operátora Príklad&lt;br /&gt;
&amp;quot;Osoby&amp;quot; tabuľky:&lt;br /&gt;
&lt;br /&gt;
P_Id 1 : Priezvisko: Hansen, Meno: Ola , Adresa : Timoteivn 10 , Mesto : Sandnes ; P_Id 2 : Priezvisko: Svendson , Meno: Tove , Adresa : Borgvn 23 , Mesto : Sandnes ; P_Id 3 : Meno: Pettersen , Meno: Kari , Adresa : Storgt 20, Mesto: Stavanger.&lt;br /&gt;
&lt;br /&gt;
Teraz chceme vybrať osôb s priezviskom rovná &amp;quot;Hansen&amp;quot; alebo &amp;quot;Pettersen&amp;quot; z vyššie uvedenej tabuľky.&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
SELECT * FROM Persons&lt;br /&gt;
WHERE LastName IN ('Hansen','Pettersen')&lt;br /&gt;
&lt;br /&gt;
Výsledkom-set bude vyzerať takto:&lt;br /&gt;
P_Id 1 : Priezvisko: Hansen, Meno: Ola , Adresa : Timoteivn 10 , Mesto : Sandnes ; P_Id 3 : Meno: Pettersen , Meno: Kari , Adresa : Storgt 20, Mesto: Stavanger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== SELECT - zoskupovanie ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme zoskupiť do skupín podľa ich hodnôt. Pre zoskupenie výsledok existuje kľúčové slovo GROUP BY. Syntax príkazu SELECT pri zoskupovaní &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Zoskupenie spočíva v tom, že keď sa objavia dva riadky, ktorých hodnoty sa vo vybraných stĺpcoch (v tých, podľa ktorých zoskupujeme) zhodujú. Databázový systém sa na ne bude pozerať ako na jeden riadok (na ostatné stĺpce musíme aplikovať agregačné funkcie, ktoré vrátia jednu hodnotu pre daný všeobecný riadok). Poznámky k použitiu príkazu GROUP BY: &lt;br /&gt;
&lt;br /&gt;
*Vo výbere nebudú duplicitné záznamy (DISTINCT) &lt;br /&gt;
*Nepoužívajte GROUP BY, kde sa dá použiť WHERE &lt;br /&gt;
*GROUP BY sa používa spoločne s agregačnými funkciami&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko je v danej krajine miest? &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, COUNT(name) FROM city GROUP BY CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Poznámka: Výsledok SQL dotazu zoskupíme podľa kódu krajiny. V tabuľke city sú mestá, ktoré majú rovnaký kód krajiny. Pomocou zápisu COUNT(name) vypočítame počet tých miest, ktoré majú rovnaký kód krajiny. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode&lt;br /&gt;
! COUNT(name)&lt;br /&gt;
|-&lt;br /&gt;
| ABW         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||           4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||           5 &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||           2 &lt;br /&gt;
|-&lt;br /&gt;
| ALB         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AND         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ANT         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||           5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| South America ||           9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SELECT - obmedzenie zoskupovania ====&lt;br /&gt;
&lt;br /&gt;
Zoskupené výsledky pomocou klauzuly GROUP BY môžeme obmedziť voči určitému kritériu. Na toto nám slúži kľúčové slovo HAVING. Klauzula HAVING musí odkazovať len na stĺpce v časti GROUP BY, alebo na stĺpce používajúce agregačné funkcie. HAVING obmedzuje výber v danej skupine. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
        HAVING obmedzujúce_kritériá&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. Zaujímajú nás len štáty s 10 a viac mestami &lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent HAVING COUNT(name)&amp;gt;=10&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky okresy spolu s ich počtom obyvateľov v danom okrese, kde je ale priemerný počet obyvateľov menší ako 100000 &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT District, avg(population) FROM city GROUP BY District HAVING avg(population) &amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! District         &lt;br /&gt;
! avg(population) &lt;br /&gt;
|-&lt;br /&gt;
| al-Asima         ||      28859.0000 &lt;br /&gt;
|-&lt;br /&gt;
| al-Batina        ||      90814.0000&lt;br /&gt;
|-&lt;br /&gt;
| al-Zawiya        ||      89338.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Almaty           ||      98000.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella ||      21189.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Apure            ||      93809.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Aqua Grande      ||      49541.0000 &lt;br /&gt;
|-&lt;br /&gt;
| ARMM             ||      94861.0000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber tie krajiny, ktoré majú aspoň 4 okresy &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count( district ) FROM city GROUP BY CountryCode HAVING count(district) &amp;gt;3&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count( district ) &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARG         ||                57 &lt;br /&gt;
|-&lt;br /&gt;
| AUS         ||                14 &lt;br /&gt;
|-&lt;br /&gt;
| AUT         ||                 6 &lt;br /&gt;
|-&lt;br /&gt;
| AZE         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| BEL         ||                 9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky krajiny, ktorých kód krajiny končí na &amp;quot;A&amp;quot; spolu s počtami jej okresov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count(district) FROM city GROUP BY CountryCode HAVING CountryCode like &amp;quot;%A&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count(district) &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| BFA         ||               3 &lt;br /&gt;
|-&lt;br /&gt;
| BRA         ||             250 &lt;br /&gt;
|-&lt;br /&gt;
| BWA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| DMA         ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| DZA         ||              18 &lt;br /&gt;
|-&lt;br /&gt;
| FRA         ||              40 &lt;br /&gt;
|-&lt;br /&gt;
| GHA         ||               5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SELECT - výber z viacerých tabuliek==&lt;br /&gt;
V prípade, že potrebujeme vybrať údaje z viacerých tabuliek, musíme tieto tabuľky uviesť do príkazu SELECT, a to za kľúčové slovo FROM. Zánvy tabuliek oddeľujeme čiarkou. Pravidlom je, že tieto tabuľky sú prepojené pomocou primárneho a cudzieho kľúča. Toto prepojenie musíme tiež uviesť do SQL výrazu.&lt;br /&gt;
Zoberme si [[Jazyk_SQL#Vzorový príklad - databáza WORLD|tabuľky countrylanguage a city]]. Tieto dve tabuľky sú prepojené cez atribút ''CountryCode''. SQL príkaz, ktorý vyberie všetky údaje z týchto dvoch tabuliek bude nasledujúci:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.CountryCode, city.name, language, isOfficial, percentage FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok tohto dotazu je nasledujúci:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!CountryCode &lt;br /&gt;
!name              &lt;br /&gt;
!Language &lt;br /&gt;
!IsOfficial&lt;br /&gt;
!Percentage&lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Romani                || F          ||        1.7 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ako vidieť, výsledok dotazu je zoznam jazykov ktorými sa hovorí v jednotlivých mestách sveta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v Bratislave?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Language,isOfficial, Percentage FROM countrylanguage, city &lt;br /&gt;
   WHERE city.CountryCode LIKE countrylanguage.CountryCode AND name LIKE 'Bratislava'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
! isOfficial &lt;br /&gt;
! Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' V ktorých mestách sa hovorí po slovensky?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode AND Language LIKE 'Slovak'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
!isOfficial &lt;br /&gt;
!Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v hlavných mestách európy?&lt;br /&gt;
&lt;br /&gt;
Rozbor: V tomto dotaze musíme prepojiť všetky 3 tabuľky pretože potrebujeme informácie o jazykoch ktorými sa hovorí v mestách, o mestách (resp, potrebujeme ich názov) a ešte potrebujeme informáciu, ktoré mestá sú v Európe. Posledná požadovaná informácia je v tabuľke ''country'', kde atribút ''Continent'' je vymenovaný typ kontinentov.&lt;br /&gt;
&lt;br /&gt;
Prepojenie medzi tabuľkami:&lt;br /&gt;
*countrylanguage.CountryCode - city.CountryCode (N:1)&lt;br /&gt;
*country.code - city.CountryCode (1:N)&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT country.name as Krajina,city.Name AS Mesto,Language, continent &lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
         AND Capital = ID&lt;br /&gt;
         AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
         AND country.code=city.CountryCode&lt;br /&gt;
         AND isOfficial = true&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Krajina                &lt;br /&gt;
! Mesto               &lt;br /&gt;
! Language       &lt;br /&gt;
! continent &lt;br /&gt;
|-&lt;br /&gt;
| Netherlands            || Amsterdam           || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Albania                || Tirana              || Albaniana      || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Belgium                || Bruxelles [Brussel] || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bosnia and Herzegovina || Sarajevo            || Serbo-Croatian || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| United Kingdom         || London              || English        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bulgaria               || Sofija              || Bulgariana     || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Spain                  || Madrid              || Spanish        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Faroe Islands          || Trshavn            || Faroese        || Europe    &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľkými oficiálnymi jazykmi sa hovorí v hlavných mestách krajín európy?&lt;br /&gt;
&lt;br /&gt;
Podúloha: Vyber len tie mestá, kde je viac oficiálnych jazykov.&lt;br /&gt;
&lt;br /&gt;
Rozbor: Postupujeme rovnakým spôsobom ako v predchádzajúcom príklade. Vo výsledku predchádzajúceho dotazu sa niektoré mestá opakujú podľa toho, koľkými jazykmi sa v nich hovorí. Z výsledku predchádzajúceho dotazu nás bude zaujímať názov mesta a počet jazykov, ktorými sa v ňom hovorí. Použijeme teda zoskupovanie do skupín podľa názvu mesta.&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name                &lt;br /&gt;
! count(language) &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam           ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella    ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Athenai             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Beograd             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Berlin              ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bern                ||               4 &lt;br /&gt;
|-&lt;br /&gt;
| Bratislava          ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bruxelles [Brussel] ||               3 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riešenie podúlohy:&lt;br /&gt;
Výsledok dotazu stačí obmedziť pomocou klauzuly HAVING:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
   HAVING count(language)&amp;gt;1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SELECT - spájanie tabuliek pomocou JOIN==&lt;br /&gt;
SQL príkaz JOIN a používa v prípade SELECT dotazu, ktorý vyberá údaje z viacerých tabuliek. &lt;br /&gt;
Spojenie tabuliek pomocou klúčového slova JOIN môže byť 4-kého typu&lt;br /&gt;
;vnútorné spojenie - INNER JOIN: Vráti všetky tie záznamy, kde sa záznam podľa ktorého sú tabuľky spojené nachádza v oboch tabuľkách&lt;br /&gt;
;spojenie vľavo - LEFT JOIN: Vráti všetky záznamy z &amp;quot;ľavej&amp;quot; (teda prvej) tabuľky. Dokonca aj tie, ktoré nemajú v pravej tabuľke patričný záznam.&lt;br /&gt;
;spojenie vpravo - RIGHT JOIN: Vráti všetky záznamy z &amp;quot;pravej&amp;quot; (teda druhej) tabuľky. Dokonca aj tie, ktoré nemajú v ľavej tabuľke patričný záznam.&lt;br /&gt;
;úplné spojenie - FULL JOIN:Vráti tie záznamy, ktorých prvok voči ktorému sa vytvára spojenie existuje v minimálne jednej tabuľke.&lt;br /&gt;
&lt;br /&gt;
'''Úloha''':&lt;br /&gt;
&lt;br /&gt;
Budeme pracovať s databázou [[Jazyk SQL#Slovník ver.2 - obojsmerný slovník|slovník2]]. Všetky tabuľky máme čiastočne naplnené. V tabuľle slova_en je 21 slov, v tabuľke slova_sk je 25 slov. V tabuľke preklad je 21 záznamov, teda 21 prekladov. Niektoré slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Zistite, ktoré slovenské a anglické slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
Úlohou je nájsť také slovenské (anglické) slová, ktoré sa nevyskytujú v tabuľke preklad. Tabuľka slovenských (anglických) slov bude prvá tabuľka (ľavá) a tabuľka preklad bude druhá (pravá) tabuľka. Pre zistenie slov bez prekladu použijeme LEFT JOIN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vysvetlenie SQL dotazu:&lt;br /&gt;
*Vyberáme údaje z tabuľky slovnik_slova_sk; túto tabuľku považujeme za prvú - teda ľavú tabuľku&lt;br /&gt;
*Tabuľku slovnik_slova_sk spojíme vľavo (LEFT JOIN) s tabuľkou slovnik_preklad&lt;br /&gt;
*atribútom, ktorým tieto tabuľky spojíme je&lt;br /&gt;
**v tabuľke slovnik_slova_sk je to ''id''&lt;br /&gt;
**v tabuľke slovnik_preklad je to ''id_sk''&lt;br /&gt;
Vo výsledku dotazu budú všetky slovenské slová, aj tie, ku ktorým neexistuje preklad:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk &lt;br /&gt;
! id_sk &lt;br /&gt;
! id_en &lt;br /&gt;
! id_k &lt;br /&gt;
|-&lt;br /&gt;
| 16 || ahoj     ||    16 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút  ||  NULL ||  NULL || NULL &lt;br /&gt;
|-&lt;br /&gt;
|  9 || auto     ||     9 ||     7 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 29 || čau      ||    29 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 14 || červenßá ||    14 ||    34 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 12 || ísť      ||    12 ||    25 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  6 || jablko   ||     6 ||     3 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 13 || mačka    ||    13 ||    30 ||    2 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modifikujme dotaz, aby sme dostali len zoznam slovenských slov bez prekladu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT id,slovo_sk FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
   where id_sk is NULL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk  &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút   &lt;br /&gt;
|-&lt;br /&gt;
|  8 || pomaranč&lt;br /&gt;
|-&lt;br /&gt;
|  1 || tabuľka   &lt;br /&gt;
|-&lt;br /&gt;
|  4 || vlastnosť &lt;br /&gt;
|}&lt;br /&gt;
== Literatúra a odkazy ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sicko</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8279</id>
		<title>SQL - select</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8279"/>
		<updated>2010-11-23T10:45:18Z</updated>

		<summary type="html">&lt;p&gt;Sicko: /* SELECT - alias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Skripta_dbs}} {{Draft}} Príkaz SELECT sa používa pre výber dát z databázy. Výsledok je uložený v tabuľke výsledkov. &lt;br /&gt;
&lt;br /&gt;
== Syntax príkazu SELECT ==&lt;br /&gt;
&lt;br /&gt;
Základná syntax (zjednodušená) je &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky&lt;br /&gt;
&amp;lt;/source&amp;gt; Kompletná syntax je nasledujúca&amp;lt;ref&amp;gt;SQL syntax - http://dev.mysql.com/doc/refman/5.5/en/select.html&amp;lt;/ref&amp;gt;: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
[ALL | DISTINCT | DISTINCTROW ]&lt;br /&gt;
select_expr, ... &lt;br /&gt;
	[FROM table_references &lt;br /&gt;
	[WHERE where_condition] &lt;br /&gt;
	[GROUP BY {col_name | expr | position} &lt;br /&gt;
		[ASC | DESC], ... [WITH ROLLUP]] &lt;br /&gt;
	[HAVING where_condition] &lt;br /&gt;
	[ORDER BY {col_name | expr | position} [ASC | DESC], ...] &lt;br /&gt;
	[LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] &lt;br /&gt;
	[INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] &lt;br /&gt;
	[FOR UPDATE | LOCK IN SHARE MODE]]&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: Výrazy v hranatých zátvorkách sú nepovinné, hodnoty oddelené čiarou (|) v zložených zátvorkách znamenajú výberj jednoej hodnoty z viacerých. &lt;br /&gt;
&lt;br /&gt;
=== SELECT výber všetkých údajov ===&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice         || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov         || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
|    1 || Kabul          || AFG         || Kabol              ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|    2 || Qandahar       || AFG         || Qandahar           ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
|    3 || Herat          || AFG         || Herat              ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
|    4 || Mazar-e-Sharif || AFG         || Balkh              ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
|    5 || Amsterdam      || NLD         || Noord-Holland      ||     731200 &lt;br /&gt;
|-&lt;br /&gt;
|    6 || Rotterdam      || NLD         || Zuid-Holland       ||     593321 &lt;br /&gt;
|-&lt;br /&gt;
|    7 || Haag           || NLD         || Zuid-Holland       ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
|    8 || Utrecht        || NLD         || Utrecht            ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľkt city. Vo výbere bude len názov mesta a populácia. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT Name, Population from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!name           &lt;br /&gt;
!population &lt;br /&gt;
|-&lt;br /&gt;
| Košice         ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| Prešov         ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| Kabul          ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
| Qandahar       ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
| Herat          ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
| Mazar-e-Sharif ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam      ||    731200 &lt;br /&gt;
|-&lt;br /&gt;
| Rotterdam      ||    593321 &lt;br /&gt;
|-&lt;br /&gt;
| Haag           ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
| Utrecht        ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - alias ===&lt;br /&gt;
 &lt;br /&gt;
Môžete uviesť tabuľku alebo stĺpec iný názov pomocou aliasu. To môže byť dobrá vec, ak máte veľmi dlhé alebo zložité tabuľky mená alebo názvy stĺpcov.&lt;br /&gt;
&lt;br /&gt;
Alias meno mohlo byť čokoľvek, ale zvyčajne je to krátke.&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre tabuľky&lt;br /&gt;
&lt;br /&gt;
SELECT column_name(s)&lt;br /&gt;
FROM table_name&lt;br /&gt;
AS alias_name&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre stĺpce&lt;br /&gt;
&lt;br /&gt;
SELECT column_name AS alias_name&lt;br /&gt;
FROM table_name&lt;br /&gt;
&lt;br /&gt;
Príklad alias&lt;br /&gt;
&lt;br /&gt;
Predpokladajme, že máme tabuľku s názvom &amp;quot;Ľudia&amp;quot; a ďalšie tabuľky s názvom &amp;quot;Product_Orders&amp;quot;. Dáme tabuľky aliasy &amp;quot;p&amp;quot; a &amp;quot;po&amp;quot;, resp.&lt;br /&gt;
&lt;br /&gt;
Teraz chceme, aby zoznam všetkých objednávok, ktoré &amp;quot;Ola Hansen&amp;quot; odpovedá.&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
&lt;br /&gt;
SELECT po.OrderID, p.LastName, p.FirstName&lt;br /&gt;
FROM Persons AS p,&lt;br /&gt;
Product_Orders AS po&lt;br /&gt;
WHERE p.LastName='Hansen' AND p.FirstName='Ola'&lt;br /&gt;
&lt;br /&gt;
=== SELECT - obmedzenie počtu záznamov vo výsledku===&lt;br /&gt;
 doplniť príkaz LIMIT&lt;br /&gt;
&lt;br /&gt;
Vo všetkých nasledujúcich príkladoch je na koniec SQL príkazu doplnený výraz &amp;quot;LIMIT 0,8&amp;quot;. Teda výsledkom dotazu je vždy maximálne 8 záznamov.&lt;br /&gt;
=== SELECT eliminácia duplicitných záznamov ===&lt;br /&gt;
&lt;br /&gt;
Pre elimináciu duplicitných záznamov vo výsledku dotazu slúži kľúčové slovo DISTINCT. &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky kódy krajín z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT CountryCode FROM city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
|-&lt;br /&gt;
| SVK         &lt;br /&gt;
|-&lt;br /&gt;
| AFG         &lt;br /&gt;
|-&lt;br /&gt;
| NLD         &lt;br /&gt;
|-&lt;br /&gt;
| ANT         &lt;br /&gt;
|-&lt;br /&gt;
| ALB         &lt;br /&gt;
|-&lt;br /&gt;
| DZA         &lt;br /&gt;
|-&lt;br /&gt;
| ASM         &lt;br /&gt;
|-&lt;br /&gt;
| AND         &lt;br /&gt;
|-&lt;br /&gt;
| AGO         &lt;br /&gt;
|-&lt;br /&gt;
| AIA         &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Aké formy vlády sú na jednotlivých kontinentoch? &lt;br /&gt;
&lt;br /&gt;
Vysvetlenie: Údaje o krajinách sú v tabuľke country. Pri každej krajine sú okrem iných aj informácie o forme vlády (GovernmentForm), kontinente, na ktorom sa nachádza (Continent). Keďže nás nezaujímajú samotné krajiny ale len kontinenty na ktorých ležia, dotazom ''SELECT Continent, GovernmentForm FROM country'' by sme dostali duplicitné záznamy, pretože na danom kontinente sú krajiny, ktoré majú rovnaké formy vlády. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT Continent, GovernmentForm FROM country&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! GovernmentForm                               &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Islamic Emirate                              &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| North America || Nonmetropolitan Territory of The Netherlands &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Africa        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       || US Territory                                 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Parliamentary Coprincipality                 &lt;br /&gt;
|-&lt;br /&gt;
| North America || Dependent Territory of the UK                &lt;br /&gt;
|-&lt;br /&gt;
| North America || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Emirate Federation                           &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT obmedzenie výberu ===&lt;br /&gt;
&lt;br /&gt;
Pre obmedzenie počtu výsledkov sa v príkaze SQL používa kľúčové slovo ''WHERE''. Za kľúčové slovo sa píše logická podmienka. Výsledkom dotazu sú záznamy, ktoré vyhovujú danej logickej podmienke. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky WHERE logicka_podmienka&lt;br /&gt;
&amp;lt;/source&amp;gt; '''Logická podmienka''' je výraz, ktorého výsledok môže byť pravda (true) alebo nepravda (false). V logickej podmienke sa používajú relačné operátory: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! = &lt;br /&gt;
| porovnanie&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší&lt;br /&gt;
|-&lt;br /&gt;
! IS NULL &lt;br /&gt;
| Test na hodnotu NULL&lt;br /&gt;
|-&lt;br /&gt;
! IS &lt;br /&gt;
| Test na logickú hodnotu true/false&lt;br /&gt;
|-&lt;br /&gt;
! LIKE &lt;br /&gt;
| Porovnávanie reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;!=, &amp;lt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| Operátor nerovnsti&lt;br /&gt;
|-&lt;br /&gt;
! NOT LIKE &lt;br /&gt;
| Negácia pri porovnávaní reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! BETWEEN &lt;br /&gt;
| Výber hodnoty z daného intervalu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha''': Vyberte všetky mestá, v ktorých je populácia väčšia ako 5 000 000. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population&amp;gt;5000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  206 || Sao Paulo       || BRA         || Sao Paulo      ||    9968485 &lt;br /&gt;
|-&lt;br /&gt;
|  207 || Rio de Janeiro  || BRA         || Rio de Janeiro ||    5598953 &lt;br /&gt;
|-&lt;br /&gt;
|  456 || London          || GBR         || England        ||    7285000 &lt;br /&gt;
|-&lt;br /&gt;
|  608 || Cairo           || EGY         || Kairo          ||    6789479 &lt;br /&gt;
|-&lt;br /&gt;
|  939 || Jakarta         || IDN         || Jakarta Raya   ||    9604900 &lt;br /&gt;
|-&lt;br /&gt;
| 1024 || Mumbai (Bombay) || IND         || Maharashtra    ||   10500000 &lt;br /&gt;
|-&lt;br /&gt;
| 1025 || Delhi           || IND         || Delhi          ||    7206704 &lt;br /&gt;
|-&lt;br /&gt;
| 1380 || Teheran         || IRN         || Teheran        ||    6758845 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá, ktoré majú kód krajiny &amp;quot;SVK&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá v ktorých je populácia medzi 1 a 2 miliónmi obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population between 1000000 and 2000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|   1 || Kabul      || AFG         || Kabol            ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|  70 || La Matanza || ARG         || Buenos Aires     ||    1266461 &lt;br /&gt;
|-&lt;br /&gt;
|  71 || Córdoba    || ARG         || Córdoba          ||    1157507 &lt;br /&gt;
|-&lt;br /&gt;
| 126 || Yerevan    || ARM         || Yerevan          ||    1248700 &lt;br /&gt;
|-&lt;br /&gt;
| 132 || Brisbane   || AUS         || Queensland      ||    1291117 &lt;br /&gt;
|-&lt;br /&gt;
| 133 || Perth      || AUS         || West Australia   ||    1096829 &lt;br /&gt;
|-&lt;br /&gt;
| 144 || Baku       || AZE         || Baki             ||    1787800 &lt;br /&gt;
|-&lt;br /&gt;
| 151 || Chittagong || BGD         || Chittagong       ||    1392860 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých názov začína na &amp;quot;Bra&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Name LIKE 'Bra%' &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  165 || Brahmanbaria      || BGD         || Chittagong       ||     109032 &lt;br /&gt;
|-&lt;br /&gt;
|  211 || Brasília          || BRA         || Distrito Federal ||    1969868 &lt;br /&gt;
|-&lt;br /&gt;
|  388 || Braganca Paulista || BRA         || Sao Paulo        ||     116929 &lt;br /&gt;
|-&lt;br /&gt;
|  468 || Bradford          || GBR         || England          ||     289376 &lt;br /&gt;
|-&lt;br /&gt;
|  743 || Brakpan           || ZAF         || Gauteng          ||     171363 &lt;br /&gt;
|-&lt;br /&gt;
| 1148 || Brahmapur         || IND         || Orissa           ||     210418 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak&amp;amp;nbsp;% (percento) zastupuje ľubovoľný počet znakov. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých kód krajiny začína na &amp;quot;N&amp;quot; a končí na &amp;quot;L&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode LIKE &amp;quot;N_L&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 2729 || Kathmandu    || NPL         || Central    ||     591835 &lt;br /&gt;
|-&lt;br /&gt;
| 2730 || Biratnagar   || NPL         || Eastern    ||     157764 &lt;br /&gt;
|-&lt;br /&gt;
| 2731 || Pokhara      || NPL         || Western    ||     146318 &lt;br /&gt;
|-&lt;br /&gt;
| 2732 || Lalitapur    || NPL         || Central    ||     145847 &lt;br /&gt;
|-&lt;br /&gt;
| 2733 || Birgunj      || NPL         || Central    ||      90639 &lt;br /&gt;
|-&lt;br /&gt;
| 3493 || Noumca       || NCL         || ?          ||      76293 &lt;br /&gt;
|-&lt;br /&gt;
| 3494 || Auckland     || NZL         || Auckland   ||     381800 &lt;br /&gt;
|-&lt;br /&gt;
| 3495 || Christchurch || NZL         || Canterbury ||     324200 &lt;br /&gt;
|-&lt;br /&gt;
| 3496 || Manukau      || NZL         || Auckland   ||     281800&lt;br /&gt;
|-&lt;br /&gt;
| 3497 || North Shore  || NZL         || Auckland   ||     187700 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak _ (podčiarkovník) zastupuje jeden znak. &lt;br /&gt;
&lt;br /&gt;
==== Spájanie viacerých podmienok ====&lt;br /&gt;
&lt;br /&gt;
Pre vytváranie komplikovanejších logických podmienok v príkaze SELECT slúžia logické spojky. Existujú dve logické spojky: &lt;br /&gt;
&lt;br /&gt;
*AND &lt;br /&gt;
**Výraz x AND y je pravdivý vtedy a len vtedy ak je pravdivý výrok x A ZÁROVEŇ je pravdivý výrok y &lt;br /&gt;
*OR &lt;br /&gt;
**Výraz x OR y je pravdivý vtedy ak je pravdivý výrok x ALEBO je pravdivý výrok y&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá vo Veľkej británii, v ktorých je populácia menšia ako 100tisíc obyvateľov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;GBR&amp;quot; and Population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 520 || Chelmsford || GBR         || England  ||      97451 &lt;br /&gt;
|-&lt;br /&gt;
| 521 || Colchester || GBR         || England  ||      96063 &lt;br /&gt;
|-&lt;br /&gt;
| 522 || Crawley    || GBR         || England  ||      97000 &lt;br /&gt;
|-&lt;br /&gt;
| 523 || Gillingham || GBR         || England  ||      92000 &lt;br /&gt;
|-&lt;br /&gt;
| 524 || Solihull   || GBR         || England  ||      94531 &lt;br /&gt;
|-&lt;br /&gt;
| 525 || Rochdale   || GBR         || England  ||      94313 &lt;br /&gt;
|-&lt;br /&gt;
| 526 || Birkenhead || GBR         || England  ||      93087 &lt;br /&gt;
|-&lt;br /&gt;
| 527 || Worcester  || GBR         || England  ||      95000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061 &lt;br /&gt;
|-&lt;br /&gt;
| 3339 || Praha      || CZE         || Hlavní mesto Praha ||    1181126 &lt;br /&gt;
|-&lt;br /&gt;
| 3340 || Brno       || CZE         || Jizní Morava       ||     381862 &lt;br /&gt;
|-&lt;br /&gt;
| 3341 || Ostrava    || CZE         || Severní Morava     ||     320041 &lt;br /&gt;
|-&lt;br /&gt;
| 3342 || Plzen      || CZE         || Zapadní Cechy      ||     166759 &lt;br /&gt;
|-&lt;br /&gt;
| 3343 || Olomouc    || CZE         || Severní Morava     ||     102702 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
    SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - usporiadanie výsledku ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme usporiadať podľa ľubovoľného stĺpca a to zostupne alebo vzostupne. Kľúčové slovo pre takého usporiadanie je ORDER BY. Poradie je určené slovom ASC (vzostupne) alebo DESC (zostupne) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa počtu obyvateľov vzostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Population ASC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa názvu mesta zostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Name DESC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
=== SELECT - výber z množiny hodnôt===&lt;br /&gt;
&lt;br /&gt;
V operátor umožňuje zadať viac hodnôt v klauzule WHERE.&lt;br /&gt;
&lt;br /&gt;
SQL v syntaxi&lt;br /&gt;
&lt;br /&gt;
SELECT column_name(s)&lt;br /&gt;
FROM table_name&lt;br /&gt;
WHERE column_name IN (value1,value2,...)&lt;br /&gt;
&lt;br /&gt;
V operátora Príklad&lt;br /&gt;
&amp;quot;Osoby&amp;quot; tabuľky:&lt;br /&gt;
&lt;br /&gt;
P_Id 1 : Priezvisko: Hansen, Meno: Ola , Adresa : Timoteivn 10 , Mesto : Sandnes ; P_Id 2 : Priezvisko: Svendson , Meno: Tove , Adresa : Borgvn 23 , Mesto : Sandnes ; P_Id 3 : Meno: Pettersen , Meno: Kari , Adresa : Storgt 20, Mesto: Stavanger.&lt;br /&gt;
&lt;br /&gt;
Teraz chceme vybrať osôb s priezviskom rovná &amp;quot;Hansen&amp;quot; alebo &amp;quot;Pettersen&amp;quot; z vyššie uvedenej tabuľky.&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
SELECT * FROM Persons&lt;br /&gt;
WHERE LastName IN ('Hansen','Pettersen')&lt;br /&gt;
&lt;br /&gt;
Výsledkom-set bude vyzerať takto:&lt;br /&gt;
P_Id 1 : Priezvisko: Hansen, Meno: Ola , Adresa : Timoteivn 10 , Mesto : Sandnes ; P_Id 3 : Meno: Pettersen , Meno: Kari , Adresa : Storgt 20, Mesto: Stavanger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== SELECT - zoskupovanie ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme zoskupiť do skupín podľa ich hodnôt. Pre zoskupenie výsledok existuje kľúčové slovo GROUP BY. Syntax príkazu SELECT pri zoskupovaní &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Zoskupenie spočíva v tom, že keď sa objavia dva riadky, ktorých hodnoty sa vo vybraných stĺpcoch (v tých, podľa ktorých zoskupujeme) zhodujú. Databázový systém sa na ne bude pozerať ako na jeden riadok (na ostatné stĺpce musíme aplikovať agregačné funkcie, ktoré vrátia jednu hodnotu pre daný všeobecný riadok). Poznámky k použitiu príkazu GROUP BY: &lt;br /&gt;
&lt;br /&gt;
*Vo výbere nebudú duplicitné záznamy (DISTINCT) &lt;br /&gt;
*Nepoužívajte GROUP BY, kde sa dá použiť WHERE &lt;br /&gt;
*GROUP BY sa používa spoločne s agregačnými funkciami&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko je v danej krajine miest? &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, COUNT(name) FROM city GROUP BY CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Poznámka: Výsledok SQL dotazu zoskupíme podľa kódu krajiny. V tabuľke city sú mestá, ktoré majú rovnaký kód krajiny. Pomocou zápisu COUNT(name) vypočítame počet tých miest, ktoré majú rovnaký kód krajiny. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode&lt;br /&gt;
! COUNT(name)&lt;br /&gt;
|-&lt;br /&gt;
| ABW         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||           4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||           5 &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||           2 &lt;br /&gt;
|-&lt;br /&gt;
| ALB         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AND         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ANT         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||           5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| South America ||           9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SELECT - obmedzenie zoskupovania ====&lt;br /&gt;
&lt;br /&gt;
Zoskupené výsledky pomocou klauzuly GROUP BY môžeme obmedziť voči určitému kritériu. Na toto nám slúži kľúčové slovo HAVING. Klauzula HAVING musí odkazovať len na stĺpce v časti GROUP BY, alebo na stĺpce používajúce agregačné funkcie. HAVING obmedzuje výber v danej skupine. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
        HAVING obmedzujúce_kritériá&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. Zaujímajú nás len štáty s 10 a viac mestami &lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent HAVING COUNT(name)&amp;gt;=10&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky okresy spolu s ich počtom obyvateľov v danom okrese, kde je ale priemerný počet obyvateľov menší ako 100000 &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT District, avg(population) FROM city GROUP BY District HAVING avg(population) &amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! District         &lt;br /&gt;
! avg(population) &lt;br /&gt;
|-&lt;br /&gt;
| al-Asima         ||      28859.0000 &lt;br /&gt;
|-&lt;br /&gt;
| al-Batina        ||      90814.0000&lt;br /&gt;
|-&lt;br /&gt;
| al-Zawiya        ||      89338.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Almaty           ||      98000.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella ||      21189.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Apure            ||      93809.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Aqua Grande      ||      49541.0000 &lt;br /&gt;
|-&lt;br /&gt;
| ARMM             ||      94861.0000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber tie krajiny, ktoré majú aspoň 4 okresy &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count( district ) FROM city GROUP BY CountryCode HAVING count(district) &amp;gt;3&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count( district ) &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARG         ||                57 &lt;br /&gt;
|-&lt;br /&gt;
| AUS         ||                14 &lt;br /&gt;
|-&lt;br /&gt;
| AUT         ||                 6 &lt;br /&gt;
|-&lt;br /&gt;
| AZE         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| BEL         ||                 9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky krajiny, ktorých kód krajiny končí na &amp;quot;A&amp;quot; spolu s počtami jej okresov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count(district) FROM city GROUP BY CountryCode HAVING CountryCode like &amp;quot;%A&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count(district) &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| BFA         ||               3 &lt;br /&gt;
|-&lt;br /&gt;
| BRA         ||             250 &lt;br /&gt;
|-&lt;br /&gt;
| BWA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| DMA         ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| DZA         ||              18 &lt;br /&gt;
|-&lt;br /&gt;
| FRA         ||              40 &lt;br /&gt;
|-&lt;br /&gt;
| GHA         ||               5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SELECT - výber z viacerých tabuliek==&lt;br /&gt;
V prípade, že potrebujeme vybrať údaje z viacerých tabuliek, musíme tieto tabuľky uviesť do príkazu SELECT, a to za kľúčové slovo FROM. Zánvy tabuliek oddeľujeme čiarkou. Pravidlom je, že tieto tabuľky sú prepojené pomocou primárneho a cudzieho kľúča. Toto prepojenie musíme tiež uviesť do SQL výrazu.&lt;br /&gt;
Zoberme si [[Jazyk_SQL#Vzorový príklad - databáza WORLD|tabuľky countrylanguage a city]]. Tieto dve tabuľky sú prepojené cez atribút ''CountryCode''. SQL príkaz, ktorý vyberie všetky údaje z týchto dvoch tabuliek bude nasledujúci:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.CountryCode, city.name, language, isOfficial, percentage FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok tohto dotazu je nasledujúci:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!CountryCode &lt;br /&gt;
!name              &lt;br /&gt;
!Language &lt;br /&gt;
!IsOfficial&lt;br /&gt;
!Percentage&lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Romani                || F          ||        1.7 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ako vidieť, výsledok dotazu je zoznam jazykov ktorými sa hovorí v jednotlivých mestách sveta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v Bratislave?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Language,isOfficial, Percentage FROM countrylanguage, city &lt;br /&gt;
   WHERE city.CountryCode LIKE countrylanguage.CountryCode AND name LIKE 'Bratislava'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
! isOfficial &lt;br /&gt;
! Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' V ktorých mestách sa hovorí po slovensky?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode AND Language LIKE 'Slovak'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
!isOfficial &lt;br /&gt;
!Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v hlavných mestách európy?&lt;br /&gt;
&lt;br /&gt;
Rozbor: V tomto dotaze musíme prepojiť všetky 3 tabuľky pretože potrebujeme informácie o jazykoch ktorými sa hovorí v mestách, o mestách (resp, potrebujeme ich názov) a ešte potrebujeme informáciu, ktoré mestá sú v Európe. Posledná požadovaná informácia je v tabuľke ''country'', kde atribút ''Continent'' je vymenovaný typ kontinentov.&lt;br /&gt;
&lt;br /&gt;
Prepojenie medzi tabuľkami:&lt;br /&gt;
*countrylanguage.CountryCode - city.CountryCode (N:1)&lt;br /&gt;
*country.code - city.CountryCode (1:N)&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT country.name as Krajina,city.Name AS Mesto,Language, continent &lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
         AND Capital = ID&lt;br /&gt;
         AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
         AND country.code=city.CountryCode&lt;br /&gt;
         AND isOfficial = true&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Krajina                &lt;br /&gt;
! Mesto               &lt;br /&gt;
! Language       &lt;br /&gt;
! continent &lt;br /&gt;
|-&lt;br /&gt;
| Netherlands            || Amsterdam           || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Albania                || Tirana              || Albaniana      || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Belgium                || Bruxelles [Brussel] || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bosnia and Herzegovina || Sarajevo            || Serbo-Croatian || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| United Kingdom         || London              || English        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bulgaria               || Sofija              || Bulgariana     || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Spain                  || Madrid              || Spanish        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Faroe Islands          || Trshavn            || Faroese        || Europe    &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľkými oficiálnymi jazykmi sa hovorí v hlavných mestách krajín európy?&lt;br /&gt;
&lt;br /&gt;
Podúloha: Vyber len tie mestá, kde je viac oficiálnych jazykov.&lt;br /&gt;
&lt;br /&gt;
Rozbor: Postupujeme rovnakým spôsobom ako v predchádzajúcom príklade. Vo výsledku predchádzajúceho dotazu sa niektoré mestá opakujú podľa toho, koľkými jazykmi sa v nich hovorí. Z výsledku predchádzajúceho dotazu nás bude zaujímať názov mesta a počet jazykov, ktorými sa v ňom hovorí. Použijeme teda zoskupovanie do skupín podľa názvu mesta.&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name                &lt;br /&gt;
! count(language) &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam           ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella    ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Athenai             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Beograd             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Berlin              ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bern                ||               4 &lt;br /&gt;
|-&lt;br /&gt;
| Bratislava          ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bruxelles [Brussel] ||               3 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riešenie podúlohy:&lt;br /&gt;
Výsledok dotazu stačí obmedziť pomocou klauzuly HAVING:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
   HAVING count(language)&amp;gt;1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SELECT - spájanie tabuliek pomocou JOIN==&lt;br /&gt;
SQL príkaz JOIN a používa v prípade SELECT dotazu, ktorý vyberá údaje z viacerých tabuliek. &lt;br /&gt;
Spojenie tabuliek pomocou klúčového slova JOIN môže byť 4-kého typu&lt;br /&gt;
;vnútorné spojenie - INNER JOIN: Vráti všetky tie záznamy, kde sa záznam podľa ktorého sú tabuľky spojené nachádza v oboch tabuľkách&lt;br /&gt;
;spojenie vľavo - LEFT JOIN: Vráti všetky záznamy z &amp;quot;ľavej&amp;quot; (teda prvej) tabuľky. Dokonca aj tie, ktoré nemajú v pravej tabuľke patričný záznam.&lt;br /&gt;
;spojenie vpravo - RIGHT JOIN: Vráti všetky záznamy z &amp;quot;pravej&amp;quot; (teda druhej) tabuľky. Dokonca aj tie, ktoré nemajú v ľavej tabuľke patričný záznam.&lt;br /&gt;
;úplné spojenie - FULL JOIN:Vráti tie záznamy, ktorých prvok voči ktorému sa vytvára spojenie existuje v minimálne jednej tabuľke.&lt;br /&gt;
&lt;br /&gt;
'''Úloha''':&lt;br /&gt;
&lt;br /&gt;
Budeme pracovať s databázou [[Jazyk SQL#Slovník ver.2 - obojsmerný slovník|slovník2]]. Všetky tabuľky máme čiastočne naplnené. V tabuľle slova_en je 21 slov, v tabuľke slova_sk je 25 slov. V tabuľke preklad je 21 záznamov, teda 21 prekladov. Niektoré slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Zistite, ktoré slovenské a anglické slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
Úlohou je nájsť také slovenské (anglické) slová, ktoré sa nevyskytujú v tabuľke preklad. Tabuľka slovenských (anglických) slov bude prvá tabuľka (ľavá) a tabuľka preklad bude druhá (pravá) tabuľka. Pre zistenie slov bez prekladu použijeme LEFT JOIN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vysvetlenie SQL dotazu:&lt;br /&gt;
*Vyberáme údaje z tabuľky slovnik_slova_sk; túto tabuľku považujeme za prvú - teda ľavú tabuľku&lt;br /&gt;
*Tabuľku slovnik_slova_sk spojíme vľavo (LEFT JOIN) s tabuľkou slovnik_preklad&lt;br /&gt;
*atribútom, ktorým tieto tabuľky spojíme je&lt;br /&gt;
**v tabuľke slovnik_slova_sk je to ''id''&lt;br /&gt;
**v tabuľke slovnik_preklad je to ''id_sk''&lt;br /&gt;
Vo výsledku dotazu budú všetky slovenské slová, aj tie, ku ktorým neexistuje preklad:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk &lt;br /&gt;
! id_sk &lt;br /&gt;
! id_en &lt;br /&gt;
! id_k &lt;br /&gt;
|-&lt;br /&gt;
| 16 || ahoj     ||    16 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút  ||  NULL ||  NULL || NULL &lt;br /&gt;
|-&lt;br /&gt;
|  9 || auto     ||     9 ||     7 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 29 || čau      ||    29 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 14 || červenßá ||    14 ||    34 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 12 || ísť      ||    12 ||    25 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  6 || jablko   ||     6 ||     3 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 13 || mačka    ||    13 ||    30 ||    2 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modifikujme dotaz, aby sme dostali len zoznam slovenských slov bez prekladu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT id,slovo_sk FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
   where id_sk is NULL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk  &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút   &lt;br /&gt;
|-&lt;br /&gt;
|  8 || pomaranč&lt;br /&gt;
|-&lt;br /&gt;
|  1 || tabuľka   &lt;br /&gt;
|-&lt;br /&gt;
|  4 || vlastnosť &lt;br /&gt;
|}&lt;br /&gt;
== Literatúra a odkazy ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sicko</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8278</id>
		<title>SQL - select</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8278"/>
		<updated>2010-11-23T10:40:53Z</updated>

		<summary type="html">&lt;p&gt;Sicko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Skripta_dbs}} {{Draft}} Príkaz SELECT sa používa pre výber dát z databázy. Výsledok je uložený v tabuľke výsledkov. &lt;br /&gt;
&lt;br /&gt;
== Syntax príkazu SELECT ==&lt;br /&gt;
&lt;br /&gt;
Základná syntax (zjednodušená) je &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky&lt;br /&gt;
&amp;lt;/source&amp;gt; Kompletná syntax je nasledujúca&amp;lt;ref&amp;gt;SQL syntax - http://dev.mysql.com/doc/refman/5.5/en/select.html&amp;lt;/ref&amp;gt;: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
[ALL | DISTINCT | DISTINCTROW ]&lt;br /&gt;
select_expr, ... &lt;br /&gt;
	[FROM table_references &lt;br /&gt;
	[WHERE where_condition] &lt;br /&gt;
	[GROUP BY {col_name | expr | position} &lt;br /&gt;
		[ASC | DESC], ... [WITH ROLLUP]] &lt;br /&gt;
	[HAVING where_condition] &lt;br /&gt;
	[ORDER BY {col_name | expr | position} [ASC | DESC], ...] &lt;br /&gt;
	[LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] &lt;br /&gt;
	[INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] &lt;br /&gt;
	[FOR UPDATE | LOCK IN SHARE MODE]]&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: Výrazy v hranatých zátvorkách sú nepovinné, hodnoty oddelené čiarou (|) v zložených zátvorkách znamenajú výberj jednoej hodnoty z viacerých. &lt;br /&gt;
&lt;br /&gt;
=== SELECT výber všetkých údajov ===&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice         || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov         || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
|    1 || Kabul          || AFG         || Kabol              ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|    2 || Qandahar       || AFG         || Qandahar           ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
|    3 || Herat          || AFG         || Herat              ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
|    4 || Mazar-e-Sharif || AFG         || Balkh              ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
|    5 || Amsterdam      || NLD         || Noord-Holland      ||     731200 &lt;br /&gt;
|-&lt;br /&gt;
|    6 || Rotterdam      || NLD         || Zuid-Holland       ||     593321 &lt;br /&gt;
|-&lt;br /&gt;
|    7 || Haag           || NLD         || Zuid-Holland       ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
|    8 || Utrecht        || NLD         || Utrecht            ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľkt city. Vo výbere bude len názov mesta a populácia. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT Name, Population from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!name           &lt;br /&gt;
!population &lt;br /&gt;
|-&lt;br /&gt;
| Košice         ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| Prešov         ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| Kabul          ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
| Qandahar       ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
| Herat          ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
| Mazar-e-Sharif ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam      ||    731200 &lt;br /&gt;
|-&lt;br /&gt;
| Rotterdam      ||    593321 &lt;br /&gt;
|-&lt;br /&gt;
| Haag           ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
| Utrecht        ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - alias ===&lt;br /&gt;
 &lt;br /&gt;
Môžete uviesť tabuľku alebo stĺpec iný názov pomocou aliasu. To môže byť dobrá vec, ak máte veľmi dlhé alebo zložité tabuľky mená alebo názvy stĺpcov.&lt;br /&gt;
&lt;br /&gt;
Alias meno mohlo byť čokoľvek, ale zvyčajne je to krátke.&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre tabuľky&lt;br /&gt;
&lt;br /&gt;
SELECT column_name(s)&lt;br /&gt;
FROM table_name&lt;br /&gt;
AS alias_name&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre stĺpce&lt;br /&gt;
&lt;br /&gt;
SELECT column_name AS alias_name&lt;br /&gt;
FROM table_name&lt;br /&gt;
&lt;br /&gt;
Príklad alias&lt;br /&gt;
&lt;br /&gt;
Predpokladajme, že máme tabuľku s názvom &amp;quot;Ľudia&amp;quot; a ďalšie tabuľky s názvom &amp;quot;Product_Orders&amp;quot;. Dáme tabuľky aliasy &amp;quot;p&amp;quot; a &amp;quot;po&amp;quot;, resp.&lt;br /&gt;
&lt;br /&gt;
Teraz chceme, aby zoznam všetkých objednávok, ktoré &amp;quot;Ola Hansen&amp;quot; odpovedá.&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
&lt;br /&gt;
SELECT po.OrderID, p.LastName, p.FirstName&lt;br /&gt;
FROM Persons AS p,&lt;br /&gt;
Product_Orders AS po&lt;br /&gt;
WHERE p.LastName='Hansen' AND p.FirstName='Ola'&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
=== SELECT - obmedzenie počtu záznamov vo výsledku===&lt;br /&gt;
 doplniť príkaz LIMIT&lt;br /&gt;
&lt;br /&gt;
Vo všetkých nasledujúcich príkladoch je na koniec SQL príkazu doplnený výraz &amp;quot;LIMIT 0,8&amp;quot;. Teda výsledkom dotazu je vždy maximálne 8 záznamov.&lt;br /&gt;
=== SELECT eliminácia duplicitných záznamov ===&lt;br /&gt;
&lt;br /&gt;
Pre elimináciu duplicitných záznamov vo výsledku dotazu slúži kľúčové slovo DISTINCT. &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky kódy krajín z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT CountryCode FROM city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
|-&lt;br /&gt;
| SVK         &lt;br /&gt;
|-&lt;br /&gt;
| AFG         &lt;br /&gt;
|-&lt;br /&gt;
| NLD         &lt;br /&gt;
|-&lt;br /&gt;
| ANT         &lt;br /&gt;
|-&lt;br /&gt;
| ALB         &lt;br /&gt;
|-&lt;br /&gt;
| DZA         &lt;br /&gt;
|-&lt;br /&gt;
| ASM         &lt;br /&gt;
|-&lt;br /&gt;
| AND         &lt;br /&gt;
|-&lt;br /&gt;
| AGO         &lt;br /&gt;
|-&lt;br /&gt;
| AIA         &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Aké formy vlády sú na jednotlivých kontinentoch? &lt;br /&gt;
&lt;br /&gt;
Vysvetlenie: Údaje o krajinách sú v tabuľke country. Pri každej krajine sú okrem iných aj informácie o forme vlády (GovernmentForm), kontinente, na ktorom sa nachádza (Continent). Keďže nás nezaujímajú samotné krajiny ale len kontinenty na ktorých ležia, dotazom ''SELECT Continent, GovernmentForm FROM country'' by sme dostali duplicitné záznamy, pretože na danom kontinente sú krajiny, ktoré majú rovnaké formy vlády. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT Continent, GovernmentForm FROM country&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! GovernmentForm                               &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Islamic Emirate                              &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| North America || Nonmetropolitan Territory of The Netherlands &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Africa        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       || US Territory                                 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Parliamentary Coprincipality                 &lt;br /&gt;
|-&lt;br /&gt;
| North America || Dependent Territory of the UK                &lt;br /&gt;
|-&lt;br /&gt;
| North America || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Emirate Federation                           &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT obmedzenie výberu ===&lt;br /&gt;
&lt;br /&gt;
Pre obmedzenie počtu výsledkov sa v príkaze SQL používa kľúčové slovo ''WHERE''. Za kľúčové slovo sa píše logická podmienka. Výsledkom dotazu sú záznamy, ktoré vyhovujú danej logickej podmienke. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky WHERE logicka_podmienka&lt;br /&gt;
&amp;lt;/source&amp;gt; '''Logická podmienka''' je výraz, ktorého výsledok môže byť pravda (true) alebo nepravda (false). V logickej podmienke sa používajú relačné operátory: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! = &lt;br /&gt;
| porovnanie&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší&lt;br /&gt;
|-&lt;br /&gt;
! IS NULL &lt;br /&gt;
| Test na hodnotu NULL&lt;br /&gt;
|-&lt;br /&gt;
! IS &lt;br /&gt;
| Test na logickú hodnotu true/false&lt;br /&gt;
|-&lt;br /&gt;
! LIKE &lt;br /&gt;
| Porovnávanie reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;!=, &amp;lt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| Operátor nerovnsti&lt;br /&gt;
|-&lt;br /&gt;
! NOT LIKE &lt;br /&gt;
| Negácia pri porovnávaní reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! BETWEEN &lt;br /&gt;
| Výber hodnoty z daného intervalu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha''': Vyberte všetky mestá, v ktorých je populácia väčšia ako 5 000 000. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population&amp;gt;5000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  206 || Sao Paulo       || BRA         || Sao Paulo      ||    9968485 &lt;br /&gt;
|-&lt;br /&gt;
|  207 || Rio de Janeiro  || BRA         || Rio de Janeiro ||    5598953 &lt;br /&gt;
|-&lt;br /&gt;
|  456 || London          || GBR         || England        ||    7285000 &lt;br /&gt;
|-&lt;br /&gt;
|  608 || Cairo           || EGY         || Kairo          ||    6789479 &lt;br /&gt;
|-&lt;br /&gt;
|  939 || Jakarta         || IDN         || Jakarta Raya   ||    9604900 &lt;br /&gt;
|-&lt;br /&gt;
| 1024 || Mumbai (Bombay) || IND         || Maharashtra    ||   10500000 &lt;br /&gt;
|-&lt;br /&gt;
| 1025 || Delhi           || IND         || Delhi          ||    7206704 &lt;br /&gt;
|-&lt;br /&gt;
| 1380 || Teheran         || IRN         || Teheran        ||    6758845 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá, ktoré majú kód krajiny &amp;quot;SVK&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá v ktorých je populácia medzi 1 a 2 miliónmi obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population between 1000000 and 2000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|   1 || Kabul      || AFG         || Kabol            ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|  70 || La Matanza || ARG         || Buenos Aires     ||    1266461 &lt;br /&gt;
|-&lt;br /&gt;
|  71 || Córdoba    || ARG         || Córdoba          ||    1157507 &lt;br /&gt;
|-&lt;br /&gt;
| 126 || Yerevan    || ARM         || Yerevan          ||    1248700 &lt;br /&gt;
|-&lt;br /&gt;
| 132 || Brisbane   || AUS         || Queensland      ||    1291117 &lt;br /&gt;
|-&lt;br /&gt;
| 133 || Perth      || AUS         || West Australia   ||    1096829 &lt;br /&gt;
|-&lt;br /&gt;
| 144 || Baku       || AZE         || Baki             ||    1787800 &lt;br /&gt;
|-&lt;br /&gt;
| 151 || Chittagong || BGD         || Chittagong       ||    1392860 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých názov začína na &amp;quot;Bra&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Name LIKE 'Bra%' &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  165 || Brahmanbaria      || BGD         || Chittagong       ||     109032 &lt;br /&gt;
|-&lt;br /&gt;
|  211 || Brasília          || BRA         || Distrito Federal ||    1969868 &lt;br /&gt;
|-&lt;br /&gt;
|  388 || Braganca Paulista || BRA         || Sao Paulo        ||     116929 &lt;br /&gt;
|-&lt;br /&gt;
|  468 || Bradford          || GBR         || England          ||     289376 &lt;br /&gt;
|-&lt;br /&gt;
|  743 || Brakpan           || ZAF         || Gauteng          ||     171363 &lt;br /&gt;
|-&lt;br /&gt;
| 1148 || Brahmapur         || IND         || Orissa           ||     210418 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak&amp;amp;nbsp;% (percento) zastupuje ľubovoľný počet znakov. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých kód krajiny začína na &amp;quot;N&amp;quot; a končí na &amp;quot;L&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode LIKE &amp;quot;N_L&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 2729 || Kathmandu    || NPL         || Central    ||     591835 &lt;br /&gt;
|-&lt;br /&gt;
| 2730 || Biratnagar   || NPL         || Eastern    ||     157764 &lt;br /&gt;
|-&lt;br /&gt;
| 2731 || Pokhara      || NPL         || Western    ||     146318 &lt;br /&gt;
|-&lt;br /&gt;
| 2732 || Lalitapur    || NPL         || Central    ||     145847 &lt;br /&gt;
|-&lt;br /&gt;
| 2733 || Birgunj      || NPL         || Central    ||      90639 &lt;br /&gt;
|-&lt;br /&gt;
| 3493 || Noumca       || NCL         || ?          ||      76293 &lt;br /&gt;
|-&lt;br /&gt;
| 3494 || Auckland     || NZL         || Auckland   ||     381800 &lt;br /&gt;
|-&lt;br /&gt;
| 3495 || Christchurch || NZL         || Canterbury ||     324200 &lt;br /&gt;
|-&lt;br /&gt;
| 3496 || Manukau      || NZL         || Auckland   ||     281800&lt;br /&gt;
|-&lt;br /&gt;
| 3497 || North Shore  || NZL         || Auckland   ||     187700 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak _ (podčiarkovník) zastupuje jeden znak. &lt;br /&gt;
&lt;br /&gt;
==== Spájanie viacerých podmienok ====&lt;br /&gt;
&lt;br /&gt;
Pre vytváranie komplikovanejších logických podmienok v príkaze SELECT slúžia logické spojky. Existujú dve logické spojky: &lt;br /&gt;
&lt;br /&gt;
*AND &lt;br /&gt;
**Výraz x AND y je pravdivý vtedy a len vtedy ak je pravdivý výrok x A ZÁROVEŇ je pravdivý výrok y &lt;br /&gt;
*OR &lt;br /&gt;
**Výraz x OR y je pravdivý vtedy ak je pravdivý výrok x ALEBO je pravdivý výrok y&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá vo Veľkej británii, v ktorých je populácia menšia ako 100tisíc obyvateľov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;GBR&amp;quot; and Population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 520 || Chelmsford || GBR         || England  ||      97451 &lt;br /&gt;
|-&lt;br /&gt;
| 521 || Colchester || GBR         || England  ||      96063 &lt;br /&gt;
|-&lt;br /&gt;
| 522 || Crawley    || GBR         || England  ||      97000 &lt;br /&gt;
|-&lt;br /&gt;
| 523 || Gillingham || GBR         || England  ||      92000 &lt;br /&gt;
|-&lt;br /&gt;
| 524 || Solihull   || GBR         || England  ||      94531 &lt;br /&gt;
|-&lt;br /&gt;
| 525 || Rochdale   || GBR         || England  ||      94313 &lt;br /&gt;
|-&lt;br /&gt;
| 526 || Birkenhead || GBR         || England  ||      93087 &lt;br /&gt;
|-&lt;br /&gt;
| 527 || Worcester  || GBR         || England  ||      95000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061 &lt;br /&gt;
|-&lt;br /&gt;
| 3339 || Praha      || CZE         || Hlavní mesto Praha ||    1181126 &lt;br /&gt;
|-&lt;br /&gt;
| 3340 || Brno       || CZE         || Jizní Morava       ||     381862 &lt;br /&gt;
|-&lt;br /&gt;
| 3341 || Ostrava    || CZE         || Severní Morava     ||     320041 &lt;br /&gt;
|-&lt;br /&gt;
| 3342 || Plzen      || CZE         || Zapadní Cechy      ||     166759 &lt;br /&gt;
|-&lt;br /&gt;
| 3343 || Olomouc    || CZE         || Severní Morava     ||     102702 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
    SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - usporiadanie výsledku ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme usporiadať podľa ľubovoľného stĺpca a to zostupne alebo vzostupne. Kľúčové slovo pre takého usporiadanie je ORDER BY. Poradie je určené slovom ASC (vzostupne) alebo DESC (zostupne) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa počtu obyvateľov vzostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Population ASC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa názvu mesta zostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Name DESC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
=== SELECT - výber z množiny hodnôt===&lt;br /&gt;
&lt;br /&gt;
V operátor umožňuje zadať viac hodnôt v klauzule WHERE.&lt;br /&gt;
&lt;br /&gt;
SQL v syntaxi&lt;br /&gt;
&lt;br /&gt;
SELECT column_name(s)&lt;br /&gt;
FROM table_name&lt;br /&gt;
WHERE column_name IN (value1,value2,...)&lt;br /&gt;
&lt;br /&gt;
V operátora Príklad&lt;br /&gt;
&amp;quot;Osoby&amp;quot; tabuľky:&lt;br /&gt;
&lt;br /&gt;
P_Id 1 : Priezvisko: Hansen, Meno: Ola , Adresa : Timoteivn 10 , Mesto : Sandnes ; P_Id 2 : Priezvisko: Svendson , Meno: Tove , Adresa : Borgvn 23 , Mesto : Sandnes ; P_Id 3 : Meno: Pettersen , Meno: Kari , Adresa : Storgt 20, Mesto: Stavanger.&lt;br /&gt;
&lt;br /&gt;
Teraz chceme vybrať osôb s priezviskom rovná &amp;quot;Hansen&amp;quot; alebo &amp;quot;Pettersen&amp;quot; z vyššie uvedenej tabuľky.&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
SELECT * FROM Persons&lt;br /&gt;
WHERE LastName IN ('Hansen','Pettersen')&lt;br /&gt;
&lt;br /&gt;
Výsledkom-set bude vyzerať takto:&lt;br /&gt;
P_Id 1 : Priezvisko: Hansen, Meno: Ola , Adresa : Timoteivn 10 , Mesto : Sandnes ; P_Id 3 : Meno: Pettersen , Meno: Kari , Adresa : Storgt 20, Mesto: Stavanger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
=== SELECT - zoskupovanie ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme zoskupiť do skupín podľa ich hodnôt. Pre zoskupenie výsledok existuje kľúčové slovo GROUP BY. Syntax príkazu SELECT pri zoskupovaní &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Zoskupenie spočíva v tom, že keď sa objavia dva riadky, ktorých hodnoty sa vo vybraných stĺpcoch (v tých, podľa ktorých zoskupujeme) zhodujú. Databázový systém sa na ne bude pozerať ako na jeden riadok (na ostatné stĺpce musíme aplikovať agregačné funkcie, ktoré vrátia jednu hodnotu pre daný všeobecný riadok). Poznámky k použitiu príkazu GROUP BY: &lt;br /&gt;
&lt;br /&gt;
*Vo výbere nebudú duplicitné záznamy (DISTINCT) &lt;br /&gt;
*Nepoužívajte GROUP BY, kde sa dá použiť WHERE &lt;br /&gt;
*GROUP BY sa používa spoločne s agregačnými funkciami&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko je v danej krajine miest? &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, COUNT(name) FROM city GROUP BY CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Poznámka: Výsledok SQL dotazu zoskupíme podľa kódu krajiny. V tabuľke city sú mestá, ktoré majú rovnaký kód krajiny. Pomocou zápisu COUNT(name) vypočítame počet tých miest, ktoré majú rovnaký kód krajiny. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode&lt;br /&gt;
! COUNT(name)&lt;br /&gt;
|-&lt;br /&gt;
| ABW         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||           4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||           5 &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||           2 &lt;br /&gt;
|-&lt;br /&gt;
| ALB         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AND         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ANT         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||           5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| South America ||           9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SELECT - obmedzenie zoskupovania ====&lt;br /&gt;
&lt;br /&gt;
Zoskupené výsledky pomocou klauzuly GROUP BY môžeme obmedziť voči určitému kritériu. Na toto nám slúži kľúčové slovo HAVING. Klauzula HAVING musí odkazovať len na stĺpce v časti GROUP BY, alebo na stĺpce používajúce agregačné funkcie. HAVING obmedzuje výber v danej skupine. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
        HAVING obmedzujúce_kritériá&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. Zaujímajú nás len štáty s 10 a viac mestami &lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent HAVING COUNT(name)&amp;gt;=10&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky okresy spolu s ich počtom obyvateľov v danom okrese, kde je ale priemerný počet obyvateľov menší ako 100000 &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT District, avg(population) FROM city GROUP BY District HAVING avg(population) &amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! District         &lt;br /&gt;
! avg(population) &lt;br /&gt;
|-&lt;br /&gt;
| al-Asima         ||      28859.0000 &lt;br /&gt;
|-&lt;br /&gt;
| al-Batina        ||      90814.0000&lt;br /&gt;
|-&lt;br /&gt;
| al-Zawiya        ||      89338.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Almaty           ||      98000.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella ||      21189.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Apure            ||      93809.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Aqua Grande      ||      49541.0000 &lt;br /&gt;
|-&lt;br /&gt;
| ARMM             ||      94861.0000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber tie krajiny, ktoré majú aspoň 4 okresy &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count( district ) FROM city GROUP BY CountryCode HAVING count(district) &amp;gt;3&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count( district ) &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARG         ||                57 &lt;br /&gt;
|-&lt;br /&gt;
| AUS         ||                14 &lt;br /&gt;
|-&lt;br /&gt;
| AUT         ||                 6 &lt;br /&gt;
|-&lt;br /&gt;
| AZE         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| BEL         ||                 9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky krajiny, ktorých kód krajiny končí na &amp;quot;A&amp;quot; spolu s počtami jej okresov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count(district) FROM city GROUP BY CountryCode HAVING CountryCode like &amp;quot;%A&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count(district) &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| BFA         ||               3 &lt;br /&gt;
|-&lt;br /&gt;
| BRA         ||             250 &lt;br /&gt;
|-&lt;br /&gt;
| BWA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| DMA         ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| DZA         ||              18 &lt;br /&gt;
|-&lt;br /&gt;
| FRA         ||              40 &lt;br /&gt;
|-&lt;br /&gt;
| GHA         ||               5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SELECT - výber z viacerých tabuliek==&lt;br /&gt;
V prípade, že potrebujeme vybrať údaje z viacerých tabuliek, musíme tieto tabuľky uviesť do príkazu SELECT, a to za kľúčové slovo FROM. Zánvy tabuliek oddeľujeme čiarkou. Pravidlom je, že tieto tabuľky sú prepojené pomocou primárneho a cudzieho kľúča. Toto prepojenie musíme tiež uviesť do SQL výrazu.&lt;br /&gt;
Zoberme si [[Jazyk_SQL#Vzorový príklad - databáza WORLD|tabuľky countrylanguage a city]]. Tieto dve tabuľky sú prepojené cez atribút ''CountryCode''. SQL príkaz, ktorý vyberie všetky údaje z týchto dvoch tabuliek bude nasledujúci:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.CountryCode, city.name, language, isOfficial, percentage FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok tohto dotazu je nasledujúci:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!CountryCode &lt;br /&gt;
!name              &lt;br /&gt;
!Language &lt;br /&gt;
!IsOfficial&lt;br /&gt;
!Percentage&lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Romani                || F          ||        1.7 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ako vidieť, výsledok dotazu je zoznam jazykov ktorými sa hovorí v jednotlivých mestách sveta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v Bratislave?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Language,isOfficial, Percentage FROM countrylanguage, city &lt;br /&gt;
   WHERE city.CountryCode LIKE countrylanguage.CountryCode AND name LIKE 'Bratislava'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
! isOfficial &lt;br /&gt;
! Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' V ktorých mestách sa hovorí po slovensky?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode AND Language LIKE 'Slovak'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
!isOfficial &lt;br /&gt;
!Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v hlavných mestách európy?&lt;br /&gt;
&lt;br /&gt;
Rozbor: V tomto dotaze musíme prepojiť všetky 3 tabuľky pretože potrebujeme informácie o jazykoch ktorými sa hovorí v mestách, o mestách (resp, potrebujeme ich názov) a ešte potrebujeme informáciu, ktoré mestá sú v Európe. Posledná požadovaná informácia je v tabuľke ''country'', kde atribút ''Continent'' je vymenovaný typ kontinentov.&lt;br /&gt;
&lt;br /&gt;
Prepojenie medzi tabuľkami:&lt;br /&gt;
*countrylanguage.CountryCode - city.CountryCode (N:1)&lt;br /&gt;
*country.code - city.CountryCode (1:N)&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT country.name as Krajina,city.Name AS Mesto,Language, continent &lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
         AND Capital = ID&lt;br /&gt;
         AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
         AND country.code=city.CountryCode&lt;br /&gt;
         AND isOfficial = true&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Krajina                &lt;br /&gt;
! Mesto               &lt;br /&gt;
! Language       &lt;br /&gt;
! continent &lt;br /&gt;
|-&lt;br /&gt;
| Netherlands            || Amsterdam           || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Albania                || Tirana              || Albaniana      || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Belgium                || Bruxelles [Brussel] || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bosnia and Herzegovina || Sarajevo            || Serbo-Croatian || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| United Kingdom         || London              || English        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bulgaria               || Sofija              || Bulgariana     || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Spain                  || Madrid              || Spanish        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Faroe Islands          || Trshavn            || Faroese        || Europe    &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľkými oficiálnymi jazykmi sa hovorí v hlavných mestách krajín európy?&lt;br /&gt;
&lt;br /&gt;
Podúloha: Vyber len tie mestá, kde je viac oficiálnych jazykov.&lt;br /&gt;
&lt;br /&gt;
Rozbor: Postupujeme rovnakým spôsobom ako v predchádzajúcom príklade. Vo výsledku predchádzajúceho dotazu sa niektoré mestá opakujú podľa toho, koľkými jazykmi sa v nich hovorí. Z výsledku predchádzajúceho dotazu nás bude zaujímať názov mesta a počet jazykov, ktorými sa v ňom hovorí. Použijeme teda zoskupovanie do skupín podľa názvu mesta.&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name                &lt;br /&gt;
! count(language) &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam           ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella    ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Athenai             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Beograd             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Berlin              ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bern                ||               4 &lt;br /&gt;
|-&lt;br /&gt;
| Bratislava          ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bruxelles [Brussel] ||               3 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riešenie podúlohy:&lt;br /&gt;
Výsledok dotazu stačí obmedziť pomocou klauzuly HAVING:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
   HAVING count(language)&amp;gt;1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SELECT - spájanie tabuliek pomocou JOIN==&lt;br /&gt;
SQL príkaz JOIN a používa v prípade SELECT dotazu, ktorý vyberá údaje z viacerých tabuliek. &lt;br /&gt;
Spojenie tabuliek pomocou klúčového slova JOIN môže byť 4-kého typu&lt;br /&gt;
;vnútorné spojenie - INNER JOIN: Vráti všetky tie záznamy, kde sa záznam podľa ktorého sú tabuľky spojené nachádza v oboch tabuľkách&lt;br /&gt;
;spojenie vľavo - LEFT JOIN: Vráti všetky záznamy z &amp;quot;ľavej&amp;quot; (teda prvej) tabuľky. Dokonca aj tie, ktoré nemajú v pravej tabuľke patričný záznam.&lt;br /&gt;
;spojenie vpravo - RIGHT JOIN: Vráti všetky záznamy z &amp;quot;pravej&amp;quot; (teda druhej) tabuľky. Dokonca aj tie, ktoré nemajú v ľavej tabuľke patričný záznam.&lt;br /&gt;
;úplné spojenie - FULL JOIN:Vráti tie záznamy, ktorých prvok voči ktorému sa vytvára spojenie existuje v minimálne jednej tabuľke.&lt;br /&gt;
&lt;br /&gt;
'''Úloha''':&lt;br /&gt;
&lt;br /&gt;
Budeme pracovať s databázou [[Jazyk SQL#Slovník ver.2 - obojsmerný slovník|slovník2]]. Všetky tabuľky máme čiastočne naplnené. V tabuľle slova_en je 21 slov, v tabuľke slova_sk je 25 slov. V tabuľke preklad je 21 záznamov, teda 21 prekladov. Niektoré slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Zistite, ktoré slovenské a anglické slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
Úlohou je nájsť také slovenské (anglické) slová, ktoré sa nevyskytujú v tabuľke preklad. Tabuľka slovenských (anglických) slov bude prvá tabuľka (ľavá) a tabuľka preklad bude druhá (pravá) tabuľka. Pre zistenie slov bez prekladu použijeme LEFT JOIN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vysvetlenie SQL dotazu:&lt;br /&gt;
*Vyberáme údaje z tabuľky slovnik_slova_sk; túto tabuľku považujeme za prvú - teda ľavú tabuľku&lt;br /&gt;
*Tabuľku slovnik_slova_sk spojíme vľavo (LEFT JOIN) s tabuľkou slovnik_preklad&lt;br /&gt;
*atribútom, ktorým tieto tabuľky spojíme je&lt;br /&gt;
**v tabuľke slovnik_slova_sk je to ''id''&lt;br /&gt;
**v tabuľke slovnik_preklad je to ''id_sk''&lt;br /&gt;
Vo výsledku dotazu budú všetky slovenské slová, aj tie, ku ktorým neexistuje preklad:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk &lt;br /&gt;
! id_sk &lt;br /&gt;
! id_en &lt;br /&gt;
! id_k &lt;br /&gt;
|-&lt;br /&gt;
| 16 || ahoj     ||    16 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút  ||  NULL ||  NULL || NULL &lt;br /&gt;
|-&lt;br /&gt;
|  9 || auto     ||     9 ||     7 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 29 || čau      ||    29 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 14 || červenßá ||    14 ||    34 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 12 || ísť      ||    12 ||    25 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  6 || jablko   ||     6 ||     3 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 13 || mačka    ||    13 ||    30 ||    2 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modifikujme dotaz, aby sme dostali len zoznam slovenských slov bez prekladu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT id,slovo_sk FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
   where id_sk is NULL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk  &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút   &lt;br /&gt;
|-&lt;br /&gt;
|  8 || pomaranč&lt;br /&gt;
|-&lt;br /&gt;
|  1 || tabuľka   &lt;br /&gt;
|-&lt;br /&gt;
|  4 || vlastnosť &lt;br /&gt;
|}&lt;br /&gt;
== Literatúra a odkazy ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sicko</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8277</id>
		<title>SQL - select</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=SQL_-_select&amp;diff=8277"/>
		<updated>2010-11-23T10:19:24Z</updated>

		<summary type="html">&lt;p&gt;Sicko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Skripta_dbs}} {{Draft}} Príkaz SELECT sa používa pre výber dát z databázy. Výsledok je uložený v tabuľke výsledkov. &lt;br /&gt;
&lt;br /&gt;
== Syntax príkazu SELECT ==&lt;br /&gt;
&lt;br /&gt;
Základná syntax (zjednodušená) je &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky&lt;br /&gt;
&amp;lt;/source&amp;gt; Kompletná syntax je nasledujúca&amp;lt;ref&amp;gt;SQL syntax - http://dev.mysql.com/doc/refman/5.5/en/select.html&amp;lt;/ref&amp;gt;: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT &lt;br /&gt;
[ALL | DISTINCT | DISTINCTROW ]&lt;br /&gt;
select_expr, ... &lt;br /&gt;
	[FROM table_references &lt;br /&gt;
	[WHERE where_condition] &lt;br /&gt;
	[GROUP BY {col_name | expr | position} &lt;br /&gt;
		[ASC | DESC], ... [WITH ROLLUP]] &lt;br /&gt;
	[HAVING where_condition] &lt;br /&gt;
	[ORDER BY {col_name | expr | position} [ASC | DESC], ...] &lt;br /&gt;
	[LIMIT {[offset,] row_count | row_count OFFSET offset}] [PROCEDURE procedure_name(argument_list)] &lt;br /&gt;
	[INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_name' | INTO var_name [, var_name]] &lt;br /&gt;
	[FOR UPDATE | LOCK IN SHARE MODE]]&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: Výrazy v hranatých zátvorkách sú nepovinné, hodnoty oddelené čiarou (|) v zložených zátvorkách znamenajú výberj jednoej hodnoty z viacerých. &lt;br /&gt;
&lt;br /&gt;
=== SELECT výber všetkých údajov ===&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice         || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov         || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
|    1 || Kabul          || AFG         || Kabol              ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|    2 || Qandahar       || AFG         || Qandahar           ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
|    3 || Herat          || AFG         || Herat              ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
|    4 || Mazar-e-Sharif || AFG         || Balkh              ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
|    5 || Amsterdam      || NLD         || Noord-Holland      ||     731200 &lt;br /&gt;
|-&lt;br /&gt;
|    6 || Rotterdam      || NLD         || Zuid-Holland       ||     593321 &lt;br /&gt;
|-&lt;br /&gt;
|    7 || Haag           || NLD         || Zuid-Holland       ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
|    8 || Utrecht        || NLD         || Utrecht            ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' vyberte všetky záznamy z tabuľkt city. Vo výbere bude len názov mesta a populácia. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT Name, Population from city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!name           &lt;br /&gt;
!population &lt;br /&gt;
|-&lt;br /&gt;
| Košice         ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| Prešov         ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| Kabul          ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
| Qandahar       ||     237500 &lt;br /&gt;
|-&lt;br /&gt;
| Herat          ||     186800 &lt;br /&gt;
|-&lt;br /&gt;
| Mazar-e-Sharif ||     127800 &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam      ||    731200 &lt;br /&gt;
|-&lt;br /&gt;
| Rotterdam      ||    593321 &lt;br /&gt;
|-&lt;br /&gt;
| Haag           ||     440900 &lt;br /&gt;
|-&lt;br /&gt;
| Utrecht        ||     234323 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - alias ===&lt;br /&gt;
 &lt;br /&gt;
Môžete uviesť tabuľku alebo stĺpec iný názov pomocou aliasu. To môže byť dobrá vec, ak máte veľmi dlhé alebo zložité tabuľky mená alebo názvy stĺpcov.&lt;br /&gt;
&lt;br /&gt;
Alias meno mohlo byť čokoľvek, ale zvyčajne je to krátke.&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre tabuľky&lt;br /&gt;
&lt;br /&gt;
SELECT column_name(s)&lt;br /&gt;
FROM table_name&lt;br /&gt;
AS alias_name&lt;br /&gt;
&lt;br /&gt;
SQL Alias Syntax pre stĺpce&lt;br /&gt;
&lt;br /&gt;
SELECT column_name AS alias_name&lt;br /&gt;
FROM table_name&lt;br /&gt;
&lt;br /&gt;
Príklad alias&lt;br /&gt;
&lt;br /&gt;
Predpokladajme, že máme tabuľku s názvom &amp;quot;Ľudia&amp;quot; a ďalšie tabuľky s názvom &amp;quot;Product_Orders&amp;quot;. Dáme tabuľky aliasy &amp;quot;p&amp;quot; a &amp;quot;po&amp;quot;, resp.&lt;br /&gt;
&lt;br /&gt;
Teraz chceme, aby zoznam všetkých objednávok, ktoré &amp;quot;Ola Hansen&amp;quot; odpovedá.&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
&lt;br /&gt;
SELECT po.OrderID, p.LastName, p.FirstName&lt;br /&gt;
FROM Persons AS p,&lt;br /&gt;
Product_Orders AS po&lt;br /&gt;
WHERE p.LastName='Hansen' AND p.FirstName='Ola'&lt;br /&gt;
&lt;br /&gt;
Používame nasledujúci príkaz SELECT:&lt;br /&gt;
=== SELECT - obmedzenie počtu záznamov vo výsledku===&lt;br /&gt;
 doplniť príkaz LIMIT&lt;br /&gt;
&lt;br /&gt;
Vo všetkých nasledujúcich príkladoch je na koniec SQL príkazu doplnený výraz &amp;quot;LIMIT 0,8&amp;quot;. Teda výsledkom dotazu je vždy maximálne 8 záznamov.&lt;br /&gt;
=== SELECT eliminácia duplicitných záznamov ===&lt;br /&gt;
&lt;br /&gt;
Pre elimináciu duplicitných záznamov vo výsledku dotazu slúži kľúčové slovo DISTINCT. &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky kódy krajín z tabuľky city. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT CountryCode FROM city&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
|-&lt;br /&gt;
| SVK         &lt;br /&gt;
|-&lt;br /&gt;
| AFG         &lt;br /&gt;
|-&lt;br /&gt;
| NLD         &lt;br /&gt;
|-&lt;br /&gt;
| ANT         &lt;br /&gt;
|-&lt;br /&gt;
| ALB         &lt;br /&gt;
|-&lt;br /&gt;
| DZA         &lt;br /&gt;
|-&lt;br /&gt;
| ASM         &lt;br /&gt;
|-&lt;br /&gt;
| AND         &lt;br /&gt;
|-&lt;br /&gt;
| AGO         &lt;br /&gt;
|-&lt;br /&gt;
| AIA         &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Aké formy vlády sú na jednotlivých kontinentoch? &lt;br /&gt;
&lt;br /&gt;
Vysvetlenie: Údaje o krajinách sú v tabuľke country. Pri každej krajine sú okrem iných aj informácie o forme vlády (GovernmentForm), kontinente, na ktorom sa nachádza (Continent). Keďže nás nezaujímajú samotné krajiny ale len kontinenty na ktorých ležia, dotazom ''SELECT Continent, GovernmentForm FROM country'' by sme dostali duplicitné záznamy, pretože na danom kontinente sú krajiny, ktoré majú rovnaké formy vlády. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT DISTINCT Continent, GovernmentForm FROM country&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! GovernmentForm                               &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Islamic Emirate                              &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| North America || Nonmetropolitan Territory of The Netherlands &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Africa        || Republic                                     &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       || US Territory                                 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        || Parliamentary Coprincipality                 &lt;br /&gt;
|-&lt;br /&gt;
| North America || Dependent Territory of the UK                &lt;br /&gt;
|-&lt;br /&gt;
| North America || Constitutional Monarchy                      &lt;br /&gt;
|-&lt;br /&gt;
| Asia          || Emirate Federation                           &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT obmedzenie výberu ===&lt;br /&gt;
&lt;br /&gt;
Pre obmedzenie počtu výsledkov sa v príkaze SQL používa kľúčové slovo ''WHERE''. Za kľúčové slovo sa píše logická podmienka. Výsledkom dotazu sú záznamy, ktoré vyhovujú danej logickej podmienke. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT názvy_stĺpcov_tabuľky FROM názov_tabuľky WHERE logicka_podmienka&lt;br /&gt;
&amp;lt;/source&amp;gt; '''Logická podmienka''' je výraz, ktorého výsledok môže byť pravda (true) alebo nepravda (false). V logickej podmienke sa používajú relačné operátory: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! = &lt;br /&gt;
| porovnanie&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| väčší&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;=&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší rovný&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;&amp;lt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| menší&lt;br /&gt;
|-&lt;br /&gt;
! IS NULL &lt;br /&gt;
| Test na hodnotu NULL&lt;br /&gt;
|-&lt;br /&gt;
! IS &lt;br /&gt;
| Test na logickú hodnotu true/false&lt;br /&gt;
|-&lt;br /&gt;
! LIKE &lt;br /&gt;
| Porovnávanie reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;nowiki&amp;gt;!=, &amp;lt;&amp;gt;&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
| Operátor nerovnsti&lt;br /&gt;
|-&lt;br /&gt;
! NOT LIKE &lt;br /&gt;
| Negácia pri porovnávaní reťazcov&lt;br /&gt;
|-&lt;br /&gt;
! BETWEEN &lt;br /&gt;
| Výber hodnoty z daného intervalu&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha''': Vyberte všetky mestá, v ktorých je populácia väčšia ako 5 000 000. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population&amp;gt;5000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  206 || Sao Paulo       || BRA         || Sao Paulo      ||    9968485 &lt;br /&gt;
|-&lt;br /&gt;
|  207 || Rio de Janeiro  || BRA         || Rio de Janeiro ||    5598953 &lt;br /&gt;
|-&lt;br /&gt;
|  456 || London          || GBR         || England        ||    7285000 &lt;br /&gt;
|-&lt;br /&gt;
|  608 || Cairo           || EGY         || Kairo          ||    6789479 &lt;br /&gt;
|-&lt;br /&gt;
|  939 || Jakarta         || IDN         || Jakarta Raya   ||    9604900 &lt;br /&gt;
|-&lt;br /&gt;
| 1024 || Mumbai (Bombay) || IND         || Maharashtra    ||   10500000 &lt;br /&gt;
|-&lt;br /&gt;
| 1025 || Delhi           || IND         || Delhi          ||    7206704 &lt;br /&gt;
|-&lt;br /&gt;
| 1380 || Teheran         || IRN         || Teheran        ||    6758845 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá, ktoré majú kód krajiny &amp;quot;SVK&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:  &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá v ktorých je populácia medzi 1 a 2 miliónmi obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Population between 1000000 and 2000000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|   1 || Kabul      || AFG         || Kabol            ||    1780000 &lt;br /&gt;
|-&lt;br /&gt;
|  70 || La Matanza || ARG         || Buenos Aires     ||    1266461 &lt;br /&gt;
|-&lt;br /&gt;
|  71 || Córdoba    || ARG         || Córdoba          ||    1157507 &lt;br /&gt;
|-&lt;br /&gt;
| 126 || Yerevan    || ARM         || Yerevan          ||    1248700 &lt;br /&gt;
|-&lt;br /&gt;
| 132 || Brisbane   || AUS         || Queensland      ||    1291117 &lt;br /&gt;
|-&lt;br /&gt;
| 133 || Perth      || AUS         || West Australia   ||    1096829 &lt;br /&gt;
|-&lt;br /&gt;
| 144 || Baku       || AZE         || Baki             ||    1787800 &lt;br /&gt;
|-&lt;br /&gt;
| 151 || Chittagong || BGD         || Chittagong       ||    1392860 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých názov začína na &amp;quot;Bra&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE Name LIKE 'Bra%' &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! ID   &lt;br /&gt;
! Name              &lt;br /&gt;
! CountryCode &lt;br /&gt;
! District         &lt;br /&gt;
! Population &lt;br /&gt;
|-&lt;br /&gt;
|  165 || Brahmanbaria      || BGD         || Chittagong       ||     109032 &lt;br /&gt;
|-&lt;br /&gt;
|  211 || Brasília          || BRA         || Distrito Federal ||    1969868 &lt;br /&gt;
|-&lt;br /&gt;
|  388 || Braganca Paulista || BRA         || Sao Paulo        ||     116929 &lt;br /&gt;
|-&lt;br /&gt;
|  468 || Bradford          || GBR         || England          ||     289376 &lt;br /&gt;
|-&lt;br /&gt;
|  743 || Brakpan           || ZAF         || Gauteng          ||     171363 &lt;br /&gt;
|-&lt;br /&gt;
| 1148 || Brahmapur         || IND         || Orissa           ||     210418 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak&amp;amp;nbsp;% (percento) zastupuje ľubovoľný počet znakov. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá, ktorých kód krajiny začína na &amp;quot;N&amp;quot; a končí na &amp;quot;L&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode LIKE &amp;quot;N_L&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 2729 || Kathmandu    || NPL         || Central    ||     591835 &lt;br /&gt;
|-&lt;br /&gt;
| 2730 || Biratnagar   || NPL         || Eastern    ||     157764 &lt;br /&gt;
|-&lt;br /&gt;
| 2731 || Pokhara      || NPL         || Western    ||     146318 &lt;br /&gt;
|-&lt;br /&gt;
| 2732 || Lalitapur    || NPL         || Central    ||     145847 &lt;br /&gt;
|-&lt;br /&gt;
| 2733 || Birgunj      || NPL         || Central    ||      90639 &lt;br /&gt;
|-&lt;br /&gt;
| 3493 || Noumca       || NCL         || ?          ||      76293 &lt;br /&gt;
|-&lt;br /&gt;
| 3494 || Auckland     || NZL         || Auckland   ||     381800 &lt;br /&gt;
|-&lt;br /&gt;
| 3495 || Christchurch || NZL         || Canterbury ||     324200 &lt;br /&gt;
|-&lt;br /&gt;
| 3496 || Manukau      || NZL         || Auckland   ||     281800&lt;br /&gt;
|-&lt;br /&gt;
| 3497 || North Shore  || NZL         || Auckland   ||     187700 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poznámka: Znak _ (podčiarkovník) zastupuje jeden znak. &lt;br /&gt;
&lt;br /&gt;
==== Spájanie viacerých podmienok ====&lt;br /&gt;
&lt;br /&gt;
Pre vytváranie komplikovanejších logických podmienok v príkaze SELECT slúžia logické spojky. Existujú dve logické spojky: &lt;br /&gt;
&lt;br /&gt;
*AND &lt;br /&gt;
**Výraz x AND y je pravdivý vtedy a len vtedy ak je pravdivý výrok x A ZÁROVEŇ je pravdivý výrok y &lt;br /&gt;
*OR &lt;br /&gt;
**Výraz x OR y je pravdivý vtedy ak je pravdivý výrok x ALEBO je pravdivý výrok y&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá vo Veľkej británii, v ktorých je populácia menšia ako 100tisíc obyvateľov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;GBR&amp;quot; and Population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population &lt;br /&gt;
|-&lt;br /&gt;
| 520 || Chelmsford || GBR         || England  ||      97451 &lt;br /&gt;
|-&lt;br /&gt;
| 521 || Colchester || GBR         || England  ||      96063 &lt;br /&gt;
|-&lt;br /&gt;
| 522 || Crawley    || GBR         || England  ||      97000 &lt;br /&gt;
|-&lt;br /&gt;
| 523 || Gillingham || GBR         || England  ||      92000 &lt;br /&gt;
|-&lt;br /&gt;
| 524 || Solihull   || GBR         || England  ||      94531 &lt;br /&gt;
|-&lt;br /&gt;
| 525 || Rochdale   || GBR         || England  ||      94313 &lt;br /&gt;
|-&lt;br /&gt;
| 526 || Birkenhead || GBR         || England  ||      93087 &lt;br /&gt;
|-&lt;br /&gt;
| 527 || Worcester  || GBR         || England  ||      95000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT * FROM city WHERE CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3210 || Košice     || SVK         || Východné Slovensko ||     242874 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov     || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3209 || Bratislava || SVK         || Bratislava         ||     432061 &lt;br /&gt;
|-&lt;br /&gt;
| 3339 || Praha      || CZE         || Hlavní mesto Praha ||    1181126 &lt;br /&gt;
|-&lt;br /&gt;
| 3340 || Brno       || CZE         || Jizní Morava       ||     381862 &lt;br /&gt;
|-&lt;br /&gt;
| 3341 || Ostrava    || CZE         || Severní Morava     ||     320041 &lt;br /&gt;
|-&lt;br /&gt;
| 3342 || Plzen      || CZE         || Zapadní Cechy      ||     166759 &lt;br /&gt;
|-&lt;br /&gt;
| 3343 || Olomouc    || CZE         || Severní Morava     ||     102702 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
    SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== SELECT - usporiadanie výsledku ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme usporiadať podľa ľubovoľného stĺpca a to zostupne alebo vzostupne. Kľúčové slovo pre takého usporiadanie je ORDER BY. Poradie je určené slovom ASC (vzostupne) alebo DESC (zostupne) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa počtu obyvateľov vzostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Population ASC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky mestá zo Slovenska a z Čiech, ktoré majú menej ako 100 tisíc obyvateľov. Výsledok usporiadaj podľa názvu mesta zostupne. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM city WHERE (CountryCode like &amp;quot;SVK&amp;quot; or CountryCode like &amp;quot;CZE&amp;quot;) and population&amp;lt;100000 ORDER BY Name DESC&lt;br /&gt;
&amp;lt;/source&amp;gt; Poznámka: V prípade, ak usporiadavame údaje vzostupne kľúčové slovo ASC je nepovinné. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ID   &lt;br /&gt;
! Name        &lt;br /&gt;
! CountryCode &lt;br /&gt;
!District   &lt;br /&gt;
!Population&lt;br /&gt;
|-&lt;br /&gt;
| 3347 || Ústí nad Labem   || CZE         || Severná Cechy      ||      95491 &lt;br /&gt;
|-&lt;br /&gt;
| 3211 || Prešov           || SVK         || Východné Slovensko ||      94977 &lt;br /&gt;
|-&lt;br /&gt;
| 3348 || Pardubice        || CZE         || Vřchodná Cechy     ||      91309 &lt;br /&gt;
|-&lt;br /&gt;
| 3344 || Liberec          || CZE         || Severní Cechy      ||      99155 &lt;br /&gt;
|-&lt;br /&gt;
| 3346 || Hradec Králové   || CZE         || Východní Cechy     ||      98080 &lt;br /&gt;
|-&lt;br /&gt;
| 3345 || Ceské Budejovice || CZE         || Jizní Cechy        ||      98186 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
=== SELECT - výber z množiny hodnôt===&lt;br /&gt;
 operátor IN - doplniť. &lt;br /&gt;
=== SELECT - zoskupovanie ===&lt;br /&gt;
&lt;br /&gt;
Výsledok SQL dotazu môžeme zoskupiť do skupín podľa ich hodnôt. Pre zoskupenie výsledok existuje kľúčové slovo GROUP BY. Syntax príkazu SELECT pri zoskupovaní &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Zoskupenie spočíva v tom, že keď sa objavia dva riadky, ktorých hodnoty sa vo vybraných stĺpcoch (v tých, podľa ktorých zoskupujeme) zhodujú. Databázový systém sa na ne bude pozerať ako na jeden riadok (na ostatné stĺpce musíme aplikovať agregačné funkcie, ktoré vrátia jednu hodnotu pre daný všeobecný riadok). Poznámky k použitiu príkazu GROUP BY: &lt;br /&gt;
&lt;br /&gt;
*Vo výbere nebudú duplicitné záznamy (DISTINCT) &lt;br /&gt;
*Nepoužívajte GROUP BY, kde sa dá použiť WHERE &lt;br /&gt;
*GROUP BY sa používa spoločne s agregačnými funkciami&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko je v danej krajine miest? &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, COUNT(name) FROM city GROUP BY CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Poznámka: Výsledok SQL dotazu zoskupíme podľa kódu krajiny. V tabuľke city sú mestá, ktoré majú rovnaký kód krajiny. Pomocou zápisu COUNT(name) vypočítame počet tých miest, ktoré majú rovnaký kód krajiny. &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode&lt;br /&gt;
! COUNT(name)&lt;br /&gt;
|-&lt;br /&gt;
| ABW         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||           4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||           5 &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||           2 &lt;br /&gt;
|-&lt;br /&gt;
| ALB         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| AND         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ANT         ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||           5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Oceania       ||           1 &lt;br /&gt;
|-&lt;br /&gt;
| South America ||           9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== SELECT - obmedzenie zoskupovania ====&lt;br /&gt;
&lt;br /&gt;
Zoskupené výsledky pomocou klauzuly GROUP BY môžeme obmedziť voči určitému kritériu. Na toto nám slúži kľúčové slovo HAVING. Klauzula HAVING musí odkazovať len na stĺpce v časti GROUP BY, alebo na stĺpce používajúce agregačné funkcie. HAVING obmedzuje výber v danej skupine. Syntax je nasledovná: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT zoznam_stĺpcov&lt;br /&gt;
   FROM zoznam_tabuliek&lt;br /&gt;
        WHERE podmienky&lt;br /&gt;
        GROUP BY výraz_pre_zoskupenie&lt;br /&gt;
        HAVING obmedzujúce_kritériá&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľko štátov je v jednotlivých kontinentoch, takých, ktorých populácia je väčšia ako 5 miliónov. Zaujímajú nás len štáty s 10 a viac mestami &lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Continent, count(name) FROM country WHERE population&amp;gt;5000000  GROUP BY Continent HAVING COUNT(name)&amp;gt;=10&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Continent     &lt;br /&gt;
! count(name) &lt;br /&gt;
|-&lt;br /&gt;
| Asia          ||          32 &lt;br /&gt;
|-&lt;br /&gt;
| Europe        ||          24 &lt;br /&gt;
|-&lt;br /&gt;
| North America ||          10 &lt;br /&gt;
|-&lt;br /&gt;
| Africa        ||          32 &lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky okresy spolu s ich počtom obyvateľov v danom okrese, kde je ale priemerný počet obyvateľov menší ako 100000 &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT District, avg(population) FROM city GROUP BY District HAVING avg(population) &amp;lt;100000&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! District         &lt;br /&gt;
! avg(population) &lt;br /&gt;
|-&lt;br /&gt;
| al-Asima         ||      28859.0000 &lt;br /&gt;
|-&lt;br /&gt;
| al-Batina        ||      90814.0000&lt;br /&gt;
|-&lt;br /&gt;
| al-Zawiya        ||      89338.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Almaty           ||      98000.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella ||      21189.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Apure            ||      93809.0000 &lt;br /&gt;
|-&lt;br /&gt;
| Aqua Grande      ||      49541.0000 &lt;br /&gt;
|-&lt;br /&gt;
| ARMM             ||      94861.0000 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber tie krajiny, ktoré majú aspoň 4 okresy &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count( district ) FROM city GROUP BY CountryCode HAVING count(district) &amp;gt;3&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count( district ) &lt;br /&gt;
|-&lt;br /&gt;
| AFG         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| AGO         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARE         ||                 5 &lt;br /&gt;
|-&lt;br /&gt;
| ARG         ||                57 &lt;br /&gt;
|-&lt;br /&gt;
| AUS         ||                14 &lt;br /&gt;
|-&lt;br /&gt;
| AUT         ||                 6 &lt;br /&gt;
|-&lt;br /&gt;
| AZE         ||                 4 &lt;br /&gt;
|-&lt;br /&gt;
| BEL         ||                 9 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Vyber všetky krajiny, ktorých kód krajiny končí na &amp;quot;A&amp;quot; spolu s počtami jej okresov &lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT CountryCode, count(district) FROM city GROUP BY CountryCode HAVING CountryCode like &amp;quot;%A&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! CountryCode &lt;br /&gt;
! count(district) &lt;br /&gt;
|-&lt;br /&gt;
| AIA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| BFA         ||               3 &lt;br /&gt;
|-&lt;br /&gt;
| BRA         ||             250 &lt;br /&gt;
|-&lt;br /&gt;
| BWA         ||               2 &lt;br /&gt;
|-&lt;br /&gt;
| DMA         ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| DZA         ||              18 &lt;br /&gt;
|-&lt;br /&gt;
| FRA         ||              40 &lt;br /&gt;
|-&lt;br /&gt;
| GHA         ||               5 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==SELECT - výber z viacerých tabuliek==&lt;br /&gt;
V prípade, že potrebujeme vybrať údaje z viacerých tabuliek, musíme tieto tabuľky uviesť do príkazu SELECT, a to za kľúčové slovo FROM. Zánvy tabuliek oddeľujeme čiarkou. Pravidlom je, že tieto tabuľky sú prepojené pomocou primárneho a cudzieho kľúča. Toto prepojenie musíme tiež uviesť do SQL výrazu.&lt;br /&gt;
Zoberme si [[Jazyk_SQL#Vzorový príklad - databáza WORLD|tabuľky countrylanguage a city]]. Tieto dve tabuľky sú prepojené cez atribút ''CountryCode''. SQL príkaz, ktorý vyberie všetky údaje z týchto dvoch tabuliek bude nasledujúci:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.CountryCode, city.name, language, isOfficial, percentage FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok tohto dotazu je nasledujúci:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!CountryCode &lt;br /&gt;
!name              &lt;br /&gt;
!Language &lt;br /&gt;
!IsOfficial&lt;br /&gt;
!Percentage&lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Košice || Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| SVK         || Prešov || Romani                || F          ||        1.7 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ako vidieť, výsledok dotazu je zoznam jazykov ktorými sa hovorí v jednotlivých mestách sveta.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v Bratislave?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT Language,isOfficial, Percentage FROM countrylanguage, city &lt;br /&gt;
   WHERE city.CountryCode LIKE countrylanguage.CountryCode AND name LIKE 'Bratislava'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
! isOfficial &lt;br /&gt;
! Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' V ktorých mestách sa hovorí po slovensky?&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM countrylanguage, city WHERE city.CountryCode LIKE countrylanguage.CountryCode AND Language LIKE 'Slovak'&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Language              &lt;br /&gt;
!isOfficial &lt;br /&gt;
!Percentage &lt;br /&gt;
|-&lt;br /&gt;
| Slovak                || T          ||       85.6 &lt;br /&gt;
|-&lt;br /&gt;
| Hungarian             || F          ||       10.5 &lt;br /&gt;
|-&lt;br /&gt;
| Romani                || F          ||        1.7 &lt;br /&gt;
|-&lt;br /&gt;
| Czech and Moravian    || F          ||        1.1 &lt;br /&gt;
|-&lt;br /&gt;
| Ukrainian and Russian || F          ||        0.6 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Akými jazykmi sa hovorí v hlavných mestách európy?&lt;br /&gt;
&lt;br /&gt;
Rozbor: V tomto dotaze musíme prepojiť všetky 3 tabuľky pretože potrebujeme informácie o jazykoch ktorými sa hovorí v mestách, o mestách (resp, potrebujeme ich názov) a ešte potrebujeme informáciu, ktoré mestá sú v Európe. Posledná požadovaná informácia je v tabuľke ''country'', kde atribút ''Continent'' je vymenovaný typ kontinentov.&lt;br /&gt;
&lt;br /&gt;
Prepojenie medzi tabuľkami:&lt;br /&gt;
*countrylanguage.CountryCode - city.CountryCode (N:1)&lt;br /&gt;
*country.code - city.CountryCode (1:N)&lt;br /&gt;
&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT country.name as Krajina,city.Name AS Mesto,Language, continent &lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
         AND Capital = ID&lt;br /&gt;
         AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
         AND country.code=city.CountryCode&lt;br /&gt;
         AND isOfficial = true&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Krajina                &lt;br /&gt;
! Mesto               &lt;br /&gt;
! Language       &lt;br /&gt;
! continent &lt;br /&gt;
|-&lt;br /&gt;
| Netherlands            || Amsterdam           || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Albania                || Tirana              || Albaniana      || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Belgium                || Bruxelles [Brussel] || Dutch          || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bosnia and Herzegovina || Sarajevo            || Serbo-Croatian || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| United Kingdom         || London              || English        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Bulgaria               || Sofija              || Bulgariana     || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Spain                  || Madrid              || Spanish        || Europe    &lt;br /&gt;
|-&lt;br /&gt;
| Faroe Islands          || Trshavn            || Faroese        || Europe    &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Koľkými oficiálnymi jazykmi sa hovorí v hlavných mestách krajín európy?&lt;br /&gt;
&lt;br /&gt;
Podúloha: Vyber len tie mestá, kde je viac oficiálnych jazykov.&lt;br /&gt;
&lt;br /&gt;
Rozbor: Postupujeme rovnakým spôsobom ako v predchádzajúcom príklade. Vo výsledku predchádzajúceho dotazu sa niektoré mestá opakujú podľa toho, koľkými jazykmi sa v nich hovorí. Z výsledku predchádzajúceho dotazu nás bude zaujímať názov mesta a počet jazykov, ktorými sa v ňom hovorí. Použijeme teda zoskupovanie do skupín podľa názvu mesta.&lt;br /&gt;
Riešenie: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! name                &lt;br /&gt;
! count(language) &lt;br /&gt;
|-&lt;br /&gt;
| Amsterdam           ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Andorra la Vella    ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Athenai             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Beograd             ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Berlin              ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bern                ||               4 &lt;br /&gt;
|-&lt;br /&gt;
| Bratislava          ||               1 &lt;br /&gt;
|-&lt;br /&gt;
| Bruxelles [Brussel] ||               3 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riešenie podúlohy:&lt;br /&gt;
Výsledok dotazu stačí obmedziť pomocou klauzuly HAVING:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT city.name, count(language)&lt;br /&gt;
   FROM countrylanguage, city, country&lt;br /&gt;
   WHERE Continent = 'Europe'&lt;br /&gt;
      AND Capital = ID&lt;br /&gt;
      AND countrylanguage.CountryCode = city.CountryCode&lt;br /&gt;
      AND country.code=city.CountryCode&lt;br /&gt;
      AND isOfficial = true&lt;br /&gt;
   GROUP BY city.name&lt;br /&gt;
   HAVING count(language)&amp;gt;1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SELECT - spájanie tabuliek pomocou JOIN==&lt;br /&gt;
SQL príkaz JOIN a používa v prípade SELECT dotazu, ktorý vyberá údaje z viacerých tabuliek. &lt;br /&gt;
Spojenie tabuliek pomocou klúčového slova JOIN môže byť 4-kého typu&lt;br /&gt;
;vnútorné spojenie - INNER JOIN: Vráti všetky tie záznamy, kde sa záznam podľa ktorého sú tabuľky spojené nachádza v oboch tabuľkách&lt;br /&gt;
;spojenie vľavo - LEFT JOIN: Vráti všetky záznamy z &amp;quot;ľavej&amp;quot; (teda prvej) tabuľky. Dokonca aj tie, ktoré nemajú v pravej tabuľke patričný záznam.&lt;br /&gt;
;spojenie vpravo - RIGHT JOIN: Vráti všetky záznamy z &amp;quot;pravej&amp;quot; (teda druhej) tabuľky. Dokonca aj tie, ktoré nemajú v ľavej tabuľke patričný záznam.&lt;br /&gt;
;úplné spojenie - FULL JOIN:Vráti tie záznamy, ktorých prvok voči ktorému sa vytvára spojenie existuje v minimálne jednej tabuľke.&lt;br /&gt;
&lt;br /&gt;
'''Úloha''':&lt;br /&gt;
&lt;br /&gt;
Budeme pracovať s databázou [[Jazyk SQL#Slovník ver.2 - obojsmerný slovník|slovník2]]. Všetky tabuľky máme čiastočne naplnené. V tabuľle slova_en je 21 slov, v tabuľke slova_sk je 25 slov. V tabuľke preklad je 21 záznamov, teda 21 prekladov. Niektoré slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Zistite, ktoré slovenské a anglické slová nie sú preložené.&lt;br /&gt;
&lt;br /&gt;
Riešenie:&lt;br /&gt;
Úlohou je nájsť také slovenské (anglické) slová, ktoré sa nevyskytujú v tabuľke preklad. Tabuľka slovenských (anglických) slov bude prvá tabuľka (ľavá) a tabuľka preklad bude druhá (pravá) tabuľka. Pre zistenie slov bez prekladu použijeme LEFT JOIN.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT * FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vysvetlenie SQL dotazu:&lt;br /&gt;
*Vyberáme údaje z tabuľky slovnik_slova_sk; túto tabuľku považujeme za prvú - teda ľavú tabuľku&lt;br /&gt;
*Tabuľku slovnik_slova_sk spojíme vľavo (LEFT JOIN) s tabuľkou slovnik_preklad&lt;br /&gt;
*atribútom, ktorým tieto tabuľky spojíme je&lt;br /&gt;
**v tabuľke slovnik_slova_sk je to ''id''&lt;br /&gt;
**v tabuľke slovnik_preklad je to ''id_sk''&lt;br /&gt;
Vo výsledku dotazu budú všetky slovenské slová, aj tie, ku ktorým neexistuje preklad:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk &lt;br /&gt;
! id_sk &lt;br /&gt;
! id_en &lt;br /&gt;
! id_k &lt;br /&gt;
|-&lt;br /&gt;
| 16 || ahoj     ||    16 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút  ||  NULL ||  NULL || NULL &lt;br /&gt;
|-&lt;br /&gt;
|  9 || auto     ||     9 ||     7 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 29 || čau      ||    29 ||     4 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 14 || červenßá ||    14 ||    34 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 12 || ísť      ||    12 ||    25 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
|  6 || jablko   ||     6 ||     3 ||    2 &lt;br /&gt;
|-&lt;br /&gt;
| 13 || mačka    ||    13 ||    30 ||    2 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Modifikujme dotaz, aby sme dostali len zoznam slovenských slov bez prekladu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT id,slovo_sk FROM slovnik_slova_sk &lt;br /&gt;
   LEFT JOIN slovnik_preklad ON id=id_sk &lt;br /&gt;
   where id_sk is NULL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! id &lt;br /&gt;
! slovo_sk  &lt;br /&gt;
|-&lt;br /&gt;
|  3 || atribút   &lt;br /&gt;
|-&lt;br /&gt;
|  8 || pomaranč&lt;br /&gt;
|-&lt;br /&gt;
|  1 || tabuľka   &lt;br /&gt;
|-&lt;br /&gt;
|  4 || vlastnosť &lt;br /&gt;
|}&lt;br /&gt;
== Literatúra a odkazy ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sicko</name></author>
		
	</entry>
	<entry>
		<id>http://www.kiwiki.info/index.php?title=SQL_-_vstavan%C3%A9_funkcie&amp;diff=7402</id>
		<title>SQL - vstavané funkcie</title>
		<link rel="alternate" type="text/html" href="http://www.kiwiki.info/index.php?title=SQL_-_vstavan%C3%A9_funkcie&amp;diff=7402"/>
		<updated>2010-11-02T17:21:01Z</updated>

		<summary type="html">&lt;p&gt;Sicko: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Skripta_dbs}} {{Draft}} Databázový systém mySQL podporuje obsahuje vstavané funkcie, často nazývané aj agregačné funkcie. Tieto funkcie môžeme rozdeliť do skupín podľa ich zamerania: &lt;br /&gt;
&lt;br /&gt;
*Agregačné &lt;br /&gt;
*Matematické &lt;br /&gt;
*Textové &lt;br /&gt;
*Štatistické &lt;br /&gt;
*Dátumové &lt;br /&gt;
*Šifrovacie a komprimačné&lt;br /&gt;
&lt;br /&gt;
== Agregačné funkcie  ==&lt;br /&gt;
&lt;br /&gt;
Agregačné funkcie vykonávajú nad stĺpcami tabuľky matematické operácie. &lt;br /&gt;
&lt;br /&gt;
=== COUNT()  ===&lt;br /&gt;
&lt;br /&gt;
Funkcia COUNT slúži na výpočet počtu záznamov v SQL dotaze. &lt;br /&gt;
&lt;br /&gt;
'''Úloha:''' Zisti, koľko je v tabuľke city miest s kódom krajiny SVK (teda na Slovensku) &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT COUNT(*) FROM city WHERE CountryCode = &amp;quot;SVK&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: COUNT(*): 3 &lt;br /&gt;
&lt;br /&gt;
Vylepšená verzia, pre prehľadnejšie čítanie výsledku: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT COUNT(*) AS pocet FROM city WHERE CountryCode = &amp;quot;SVK&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: pocet: 3 &lt;br /&gt;
&lt;br /&gt;
=== MAX() a MIN()  ===&lt;br /&gt;
&lt;br /&gt;
Funkcia MAX(), resp. MIN() slúži na zistenie maximálnej, resp. minimálnej hodnoty z určitej množiny hodnôt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Zisti, ktoré mesto má najväčšiu populáciu. &lt;br /&gt;
&lt;br /&gt;
Riešenie: Úlohu si rozdelíme na 2 časti: &lt;br /&gt;
&lt;br /&gt;
#Zistenie maximálnej populácie z tabuľky miest &lt;br /&gt;
#Výber mesta s touto populáciou. Pre riešenie tejto úlohy použijeme vnorený príkaz SELECT&lt;br /&gt;
&lt;br /&gt;
Podúloha 1: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT MAX(Population) FROM city&lt;br /&gt;
&amp;lt;/source&amp;gt; Výsledok: 10500000 &lt;br /&gt;
&lt;br /&gt;
Podúloha 2: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT *  FROM city where Population=&lt;br /&gt;
     (SELECT MAX(Population) FROM city)&lt;br /&gt;
&amp;lt;/source&amp;gt; Výsledok: &lt;br /&gt;
&lt;br /&gt;
[[Image:Select max.png|center]] &lt;br /&gt;
&lt;br /&gt;
=== AVG()  ===&lt;br /&gt;
&lt;br /&gt;
Funkcia AVG() počíta aritmetický priemet množiny hodnôt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Aká je priemerná populácia na Slovensku? &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT AVG(population) FROM city where CountryCode=&amp;quot;SVK&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: AVG(population): 261381.0000 &lt;br /&gt;
&lt;br /&gt;
=== SUM()  ===&lt;br /&gt;
&lt;br /&gt;
Funkcia SUM() počíta súčet hodnôt danej množiny hodnôt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Aký je súčet obyvateľov miest na Slovensku? &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT SUM(population) FROM city where CountryCode=&amp;quot;SVK&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: SUM(population): 784143 &lt;br /&gt;
&lt;br /&gt;
=== STD()  ===&lt;br /&gt;
&lt;br /&gt;
Funkcia SUM() počíta štandardnú odchýlku množiny hodnôt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''Úloha:''' Aká je štandardná odchýlka počtu obyvateľov v mestách Českej republiky? &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT STD(population) FROM city where CountryCode=&amp;quot;CZE&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: STD(population): 321564.4992 &lt;br /&gt;
&lt;br /&gt;
== Matematické funkcie  ==&lt;br /&gt;
&lt;br /&gt;
'''ABS''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SIN''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''COS''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''CEIL''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''EXP''' &lt;br /&gt;
&lt;br /&gt;
Táto funkcia vracia hodnotu e (základ prirodzeného logaritmu), zdvihnutý k mocnine X.&lt;br /&gt;
&lt;br /&gt;
Príklad: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT EXP(3); &lt;br /&gt;
EXP(3)&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow;&amp;quot;&amp;gt;20.085537&amp;lt;/span&amp;gt; &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''FLOOR''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''FORMAT''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''LOG''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''LOG10''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''PI''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''POW''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''ROUND''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SQRT''' &lt;br /&gt;
&lt;br /&gt;
Funkcia SQRT určí druhú odmocninu akéhokolvek čísla&lt;br /&gt;
&lt;br /&gt;
 Úloha: Aká je druhá odmocnina zo 16?&lt;br /&gt;
&lt;br /&gt;
 select SQRT(16);&lt;br /&gt;
 +----------+&lt;br /&gt;
 | SQRT(16) |&lt;br /&gt;
 +----------+&lt;br /&gt;
 | 4.000000 |&lt;br /&gt;
 +----------+&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''TAN'''&lt;br /&gt;
&lt;br /&gt;
Funkcia TAN - matematická funkcia TAN&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Úloha: Aká je hodnota TAN(45)&lt;br /&gt;
&lt;br /&gt;
 SELECT TAN(45);&lt;br /&gt;
 +---------------------------------------------------------+&lt;br /&gt;
 | TAN(45)                                                 |&lt;br /&gt;
 +---------------------------------------------------------+&lt;br /&gt;
 | 1.619775                                                |&lt;br /&gt;
 +---------------------------------------------------------+ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''RAND''' &lt;br /&gt;
&lt;br /&gt;
SELECT RAND( ), RAND( ), RAND( );&lt;br /&gt;
&lt;br /&gt;
+------------------+-----------------+------------------+&lt;br /&gt;
&lt;br /&gt;
| RAND( )          | RAND( )         | RAND( )          |&lt;br /&gt;
&lt;br /&gt;
+------------------+-----------------+------------------+&lt;br /&gt;
&lt;br /&gt;
| 0.45464584925645 | 0.1824410643265 | 0.54826780459682 |&lt;br /&gt;
&lt;br /&gt;
+------------------+-----------------+------------------+&lt;br /&gt;
&lt;br /&gt;
== Textové funkcie  ==&lt;br /&gt;
&lt;br /&gt;
'''CHAR''' &lt;br /&gt;
&lt;br /&gt;
Funkcia CHAR() vysvetlí každý argument N ako celé číslo a vytvorí retazec čísiel zložený zo znakov zadaného kodu &lt;br /&gt;
&lt;br /&gt;
 SELECT CHAR(77,121,83,81,'76');&lt;br /&gt;
 +---------------------------------------------------------+&lt;br /&gt;
 | CHAR(77,121,83,81,'76')                                 |&lt;br /&gt;
 +---------------------------------------------------------+&lt;br /&gt;
 | MySQL                                                   |&lt;br /&gt;
 +---------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CONCAT''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''FIELD''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''LOWER''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''UPPER''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''LTRIM(''str'')''' &lt;br /&gt;
&lt;br /&gt;
Zo začiatku reťazca ''str'' odstráni nečitateľné znaky (medzery). &lt;br /&gt;
&lt;br /&gt;
Príklad: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT LTRIM('   ahoj DBS')&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow;&amp;quot;&amp;gt;ahoj DBS&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''RTRIM(''str'')''' &lt;br /&gt;
&lt;br /&gt;
Z konca reťazca ''str'' odstráni nečitateľné znaky (medzery). &lt;br /&gt;
&lt;br /&gt;
Príklad: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT RTRIM('ahoj DBS   ')&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow;&amp;quot;&amp;gt;ahoj DBS&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''TRIM''' &lt;br /&gt;
&lt;br /&gt;
Zo začiatku a konca reťazca ''str'' odstráni nečitateľné znaky (medzery). &lt;br /&gt;
&lt;br /&gt;
Príklad: &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT TRIM('   ahoj DBS    ')&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color: yellow;&amp;quot;&amp;gt;ahoj DBS&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Dátumové funkcie  ==&lt;br /&gt;
&lt;br /&gt;
'''ADDDATE''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''ADDTIME''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''CURRDATE''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''CURTIME''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''DATE''' &lt;br /&gt;
&lt;br /&gt;
Dátum vo formáte RRRR-MM-DD, medzi 1000-01-01 a 9999-12-31. Napríklad, 30. decembra 1973 by sa uloží ako 1973-12-30. &lt;br /&gt;
&lt;br /&gt;
Príklad:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SELECT DATE&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;background-color:yellow&amp;quot;&amp;gt;2003-12-31&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''DAY''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''DAYNAME''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''DAYOFWEEK''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''DAYOFMONTH''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''DAYOFYEAR''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''HOUR''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''NOW''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SYSDATE''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''WEEK''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''YEAR'''&lt;br /&gt;
&lt;br /&gt;
== Šifrovacie a komprimačné  ==&lt;br /&gt;
&lt;br /&gt;
'''AES_ENCRYPT( ''nezasifrovany_text , kluc'' )''' &lt;br /&gt;
&lt;br /&gt;
Funkcie AES_ENCRYPT() a AES_DECRYPT() šifrujú a dešifrujú dáta pomocou oficiálneho algoritmu [http://en.wikipedia.org/wiki/Advanced_Encryption_Standard AES](Advanced Encryption Standard), ktorý bol predtým známy ako &amp;quot;Rijndael.&amp;quot; Dĺžka šifrovacieho kľúča je 128 bitov. Dĺžku kľúča sa môže predĺžiť až na 256 bitov. Vybrali sme si 128 kúskov, pretože to je oveľa rýchlejšie a je dostatočne zabezpečený pre väčšinu účelov. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   insert into test (text,zasifrovane,heslo) values (&amp;quot;kiwiki&amp;quot;,AES_ENCRYPT(&amp;quot;kiwiki&amp;quot;,&amp;quot;123456789&amp;quot;),&amp;quot;1234567789&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt; Výsledok: [[Image:Sql AES ENCRYPT.png|frame|center]] &lt;br /&gt;
&lt;br /&gt;
'''AES_DECRYPT( ''zasifrovany_text , kluc'')''' &lt;br /&gt;
&lt;br /&gt;
Táto funkcia dešifruje dáta pomocou šifrovacieho algoritmus [http://en.wikipedia.org/wiki/Advanced_Encryption_Standard AES] (Advanced Encryption Standard) &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT text, AES_DECRYPT(zasifrovane,&amp;quot;123456789&amp;quot;) as rozsifrovane ,heslo from test&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: [[Image:Sql AES DECRYPT.png|frame|center]] &lt;br /&gt;
&lt;br /&gt;
'''COMPRESS( ''str'' ), UNCOMPRESS( ''str'' )''' &lt;br /&gt;
&lt;br /&gt;
Komprimuje/dekomprimuje reťazec a vráti výsledok ako binárny reťazec. Táto funkcia vyžaduje konfigur8ciu MySQL servara tak, aby boli zostavený s kompresnou knižnicu ako zlib. V opačnom prípade je návratová hodnota vždy NULL. Komprimovaný reťazec môže byť nekomprimované s UNCOMPRESS(). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   INSERT INTO test (text,zasifrovane) VALUES (&amp;quot;kiwiki&amp;quot;,COMPRESS(&amp;quot;kiwiki&amp;quot;))&lt;br /&gt;
&amp;lt;/source&amp;gt; Výsledok: [[Image:Sql compress.png|frame|center]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
   SELECT id, text, UNCOMPRESS(zasifrovane) AS dekomprimovane FROM test&lt;br /&gt;
&amp;lt;/source&amp;gt; Výsledok: [[Image:Sql uncompress.png|frame|center]] &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''ENCODE(''str,heslo'')''' &lt;br /&gt;
&lt;br /&gt;
Šifruje dáta ''str'' pomocou nami zadaného šifrovacieho hesla ''heslo''. Výsledok šifrovania je binárny reťazec rovnakej dĺžky ako pôvodný. Na dešifrovanie sa používa funcia DECODE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dotaz:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT ENCODE(&amp;quot;kiwiki&amp;quot;, &amp;quot;heslo&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
 encode(&amp;quot;kiwiki&amp;quot;, &amp;quot;heslo&amp;quot;)&lt;br /&gt;
 -------------------------&lt;br /&gt;
 �d�\ny_&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''DECODE(''crypt_str,heslo'')''' &lt;br /&gt;
 &lt;br /&gt;
Funkcia DECODE je opak funkcie ENCODE. Dešifruje zašifrované dáta funkciou ENCODE pomocou vloženého hesla pri šifrovaní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dotaz: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT DECODE(&amp;quot;�d�\ny_&amp;quot;, &amp;quot;heslo&amp;quot;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
 encode(&amp;quot;�d�\ny_&amp;quot;, &amp;quot;heslo&amp;quot;)&lt;br /&gt;
 ---------------------------&lt;br /&gt;
 kiwiki&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''DES_DECRYPT( ''text, [kluc]''), DES_ENCRYPT(''text , kluc'')''' &lt;br /&gt;
&lt;br /&gt;
Funkcie DES_ENCRYPT() a DES_DECRYPT() šifrujú a dešifrujú dáta pomocou oficiálneho algoritmu [http://en.wikipedia.org/wiki/Data_Encryption_Standard DES]. Použitie je podobné ako pri funkciách aes_decript a aes_encrypt. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''MD5()''' [http://sk.wikipedia.org/wiki/Message-Digest_algorithm (Message-Digest algorithm) ]&lt;br /&gt;
&lt;br /&gt;
Hašovacia funkcia, mení vstupné dáta na výstupné dáta fixnej dĺžky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dotaz: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT MD5(password) FROM tabulka;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
 MD5(password)&lt;br /&gt;
 --------------------------------&lt;br /&gt;
 21232f297a57a5a743894a0e4a801fc3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''SHA1(), SHA()''' [http://sk.wikipedia.org/wiki/Secure_Hash_Algorithm (Secure Hash Algorithm) ]&lt;br /&gt;
&lt;br /&gt;
Hašovacia funkcia, mení vstupné dáta na výstupné dáta fixnej dĺžky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dotaz: &lt;br /&gt;
&amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
 SELECT SHA(password) FROM tabulka;&lt;br /&gt;
 SELECT SHA1(password) FROM tabulka;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Výsledok:&lt;br /&gt;
 SHA(password)/SHA1(password)&lt;br /&gt;
 ----------------------------------------&lt;br /&gt;
 d033e22ae348aeb5660fc2140aec35850c4da997&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; '''PASSWORD()''' &lt;br /&gt;
&lt;br /&gt;
Na základe vtupného textu vypočíta heslo. Táto funkcia je použitá na generovanie hesiel v databáze mysql (tabuľka users). &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
  SELECT PASSWORD('kiwiki');&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Výsledok: &lt;br /&gt;
&lt;br /&gt;
 *D94D4484B4D4060225F91D28D7BB131F917F760C&lt;br /&gt;
&lt;br /&gt;
== Zdroje a odkazy  ==&lt;br /&gt;
&lt;br /&gt;
*http://www.tutorialspoint.com/mysql/mysql-useful-functions.htm &lt;br /&gt;
*http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html&lt;br /&gt;
*http://www.bhatipoglu.com/entry/41/decode-demo-1&lt;br /&gt;
*http://www.fsid.cvut.cz/cz/u12110/DZS/SQL.doc&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&amp;lt;nowiki&amp;gt;Sem vložte neformátovaný text&amp;lt;/nowiki&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Sicko</name></author>
		
	</entry>
</feed>