Vyspělé databázové systémy umožňují vracet výsledky SQL dotazů nejen jako klasické výsledkové sady, ale i jako XML. Proto jsem do programu SQL Výuka doplnil podporu pro vypisování XML.
Číst dál
Když vytváříte datovou vrstvu své aplikace, narážíte někdy na nutnost psát hodně nudného a opakujícího se kódu – získat spojení z databáze, nastavit parametry dotazu, odchytávat výjimky, uzavírat spojení… Proto existují různé pomůcky, které nám práci usnadní. Jednou z nich je JdbcTemplate z frameworku Spring. Dnes se podíváme na to, s čím nám pomůže a od čeho nás naopak nezachrání – prostě trochu střízlivější pohled, než najdete ve většině tutoriálů.
Číst dál
Klasický DISTINCT ALL asi všichni znáte. V dnešním článku se podíváme na jeho variantu DISTINCT ON (…), která zajišťuje jedinečnost výsledku jen ve vyjmenovaných sloupcích.
Knížky a autoři
Naším cílem bude zjistit, jakou nejtlustší knížku každý autor napsal a počet jejích stránek. Chceme tedy vypsat: název knížky, počet stran a jméno autora.
Číst dál
Do ukázkového datového modelu jsem přidal tabulku telefonni_predvolba. Obsahuje seznam číselných předvoleb a kód státu (nebo název organizace). Takže až vám bude volat neznámé číslo z cizí země, můžete si tady snadno zjistit, že je to třeba nějaký obchodní partner z Nigérie :-)
Číst dál
Dnes si na praktickém příkladu ukážeme, jak funguje množinový operátor UNION.
Naším cílem bude vypsat si seznam uživatelů, kteří vložili komentář na našem serveru a odkaz na jejich stránky. Na serveru používáme redakční systém Drupal a z jeho databáze získáváme data. Pracovat budeme nad databází MySQL.
Úkol je to dost jednoduchý, ale my musíme zohlednit rozdíl mezi neregistrovanými a registrovanými uživateli.
Číst dál
Tlačítka pro přechod na následující nebo předchozí kapitolu mohou připadat někomu příliš malá a nechce se na tě trefovat myší. :-) Proto jsem přidal další klávesové zkratky:
- Ctrl + šipka doleva – předchozí kapitola průvodce
- Ctrl + šipka doprava – následující kapitola průvodce
Moderní relační databáze přejímají i některé myšlenky z objektového paradigmatu. Díky tomu můžeme využívat dědičnost, kterou známe z objektového programování i v databázi. Dnes se podíváme na to, jak dědičnost funguje v PostgreSQL.
Co je dědičnost?
Dědění je v OOP vztah mezi „předkem“ a „potomkem“. Anglicky se tento vztah označuje jako „IS-A“ tzn. „je“ – potomek je předkem a zároveň má nějaké dodatečné vlastnosti.
Číst dál
Klausule LIMIT slouží k omezení počtu záznamů.
SELECT *
FROM tabulka
LIMIT 1;
Tímto dotazem jsme získali jeden záznam (pokud tabulka alespoň jeden obsahuje) z tabulky.
Limit má smysl využívat hlavně současně s řazením (ORDER BY) – jinak totiž není zaručeno, které záznam dostaneme.
Vypíšeme si např. medailisty (první tři) z nějaké soutěže:
Číst dál
Přestože je program SQL Výuka webová aplikace, dopřeje vám podobné pohodlí jako klasické desktopové aplikace. Nemusíte klikat myší na tlačítka „Vykonat SQL“ a „Historie“ – můžete použít klávesové zkratky.
Ctrl+Enter – Provede SQL.
Ctrl+H – Zobrazí historii vašich příkazů.
Také můžete použít tabulátor pro odsazení, zvýší to přehlednost vašeho SQL kódu. Odsazovat je možné i více řádků textu najednou.
Další klávesové zkratky (procházení kapitol).