Archív rubriky: SQL návody

T-SQL je jazyk, který se používá k práci s databázemi na platformě MS SQL Server.  V této sekci naleznete řadu článků a návodů na tématiku pro začátečníky. Pokud se chcete T-SQL naučit nebo si chcete něco zopakovat, koukněte na příslušný SQL tutoriál. Snažím se o to, aby každý článek obsahoval i příklad použítí a ukázku kódu

Pro začátečníky – jak se postupně seznámit s T-SQL

Níže najdete základní chronologickou osnovu, kterou bych doporučil následovat pro osvojení SQLka. Při studiu používejte pro doplnění a rozšíření znalostí i jiné zdroje. Pokud se těmito tématy buď zde na webu nebo jinde prokoušete a osvojíte si je, dá vám to dobrý základ pro efektivní práci s databázemi, řešit automatizace, BI, reporting, aplikace a podobně. Můžete položit základy

Před studiem doporučuju nainstalovat (v tomto pořadí) potřebné nástroje abyste si mohli nově nabyté znalosti rovnou zkoušet.

  • SQL Server (Express nebo Developer)
  • SQL Server Management studio
  • AdventureWorks databázi (cvičná databáze microsoftu)

1) Úvod do T-SQL – seznámení, základní orientace

Po prostudování těchto článků se seznámíme se základní syntaxí jazyka T-SQL sestavíme si jednoduché SQL dotazy.

2) Základní SQL klauzule – základní konstrukční prvky SQL dotazu

Po prostudování těchto článků budete umět napsat samostatně jednoduché dotazovací skripty do 1 tabulky

3) Spojování tabulek (FROM) – joinování

Typicky se v relační databázi nepřipojujeme pouze k 1 tabulce, ale několika (v klauzuli FROM). Existuje několik typů spojení mezi tabulkami. Po prostudování těchto článků pochopíte rozdíl mezi jednotlivými typy joinů a budete schopni psát složitější skripty s pomocí spojení více tabulek. V praxi je pochopení a bezchybná volba joinů v různých situacích asi největší problém při osvojení SQL jazyka (přehoupnutí od věčného začátečníka k mírně pokročilému)

  • INNER JOIN – společné záznamy z obou tabulek na základě join kritéria
  • LEFT JOIN – vše z levé tabulky a shoda u pravé tabulky na základě join kritéria
  • RIGHT JOIN – vše z pravé tabulky a shoda z levé tabulky na základě join kritéria
  • FULL JOIN – vše z obou tabulek
  • CROSS JOIN – kartézský join všechny kombinace záznamů v obou tabulkách

4) Seznámení s SQL funkcemi (kategorie SQL funkce)

Po pochopení základní konstrukce jazyka se můžeme podívat, jakým způsobem můžeme s daty pracovat (stejně jako třeba v Excelu) prostřednictvím funkcí. Ty nejčastěji používáme v klauzuli SELECT. Níže pár příkladů těch nejpoužívanějších funkcí, další najdete v příslušné kategorii na webu.

5) DDL (vytváření, mazání, čištění tabulek) a DML (změna záznamů v tabulkách)

Do teď jsme se zabývali tzv. DQL (data query language) – dotazováním. Po pochopení jak se do tabulek dotazovat se můžeme vrhnout do samotného zakládání tabulek a příkazů, které záznamy v tabulce nějakým způsobem mění nebo rovnou mažou.

6) Napojení dat do Excelu nebo reporting platformy

Pokud umíme data v databázi připravit a efektivně se do nich dotazovat, můžeme si výsledek dotazů natáhnout třeba do Excelu nebo Power BI

SQL UNION Operátor – Sjednocení množin

Operátor UNION vám v SQL umožní propojit 2 výsledky dotazů a odstranit všechny duplicity, které v nich existují. Lze říci, že operátor ve výsledků provádí DISTINCT ve výsledném sjednocení záznamů. Tento operátor je podobný s UNION ALL – tady ale nedochází k odstranění duplicitních záznamů Syntaxe SELECT Sloupec FROM dbo.Tabulka WHERE Podmínka      UNION SELECT Sloupec FROM dbo.Tabulka WHERE Podmínka;… Čtěte více »

SQL SUBSTRING funkce – Část řetězce

Funkce SUBSTRING slouží v SQL k výběru části textového řetězce v textu. Tato funkce patří do textových funkcí – string functions. Před časem jsem napsal velký přehled T-SQL textových funkcí -najdete ho je zde Syntaxe SUBSTRING SELECT SUBSTRING(text, <počáteční pozice znaku textu, který chceme vybrat>, <počet znaků od počátečního znaku>) Funkce má 3 argumenty: Pole s textem ve kterém… Čtěte více »

SQL IF THEN ELSE příkaz – Neplést s CASE

Příkaz IF se používá ke kontrolování toku kódu hlavně při operacích, kde provádíme nějaké zásahy do db (DDL, DML operace) – třeba procedury. Můžete si ho celkem jednoduše splést s CASE příkazem. Chybou bývá, že se snažíme psát IF do klauzule SELECT, což je chyba. Dotaz kde byste použili IF v příkazu SELECT vám určitě nebude… Čtěte více »

Jak spustit proceduru SQL v Excelu s Parametry + Příklad

Rovnou na začátku říkám jde to, ale příliš tento postup moc nedoporučuji (ale stejně ho sem dám) :). Obecně spouštění dotazů SQL v Excelu není optimální, ale někdy není zbytí. Tento návod je určen pokročilým uživatelům Excelu se znalostmi SQL. Pokud jste power user a v Excelu máte analytiku, může se vám to hodit pro automatizaci Excel reportů ;).… Čtěte více »

SQL DATE and TIME datové typy – Datum a čas

Tento článek navazuje na příspěvek, ve kterém jsem poskytl přehled Datových typů v SQL Server (viz. SQL Datové typy – Přehled). V něm najdete seznam všech systémových datových typů, se kterými se můžete setkat. Nyní se zaměříme na další z kategorií ze zmíněného přehledu t-sql Date and time datové typy Specifikace datumových datových typů bude poněkud kratší než minulý článek… Čtěte více »

SQL Číselné datové typy – Velký přehled

V tomto článku navážu na předchozí příspěvek o Datových typech a proberu zde číselné datové typy a jejich vlastnosti. Díky volbě správného datového typu můžete ušetřit diskové kapacity. Stačí se zamyslet nad oborem hodnot sloupce, který chcete reprezentovat a pak zvolit správný typ. V SQL Server rozeznáváme 2 kategorie Číslených datových typů z hlediska preciznosti vyjádření čísla.… Čtěte více »

SQL Datové typy – Přehled datových typů v TSQL

V SQL Server mají všechny sloupce, proměnné nebo výrazy své definované datové typy. Ty určují, jakého typu jsou hodnoty, které daný sloupec nebo jiný logický objekt může obsahovat. Po každé když se snažíte založit sql tabulku, proměnnou nebo výraz, je striktně požadována definice, která určuje sql datové typy. Nesprávným zvolením datového typu u objektů se můžete… Čtěte více »

SQL IN operátor – Více hodnot v podmínce

IN operátor v t-sql použijeme v případě, kdy potřebujeme ve WHERE klauzuli vymezit podmínku současně na několik diskrétních hodnot. Je podobný s operátorem BETWEEN, ale je tam jeden velký rozdíl. Rozdíl mezi IN a BETWEEN BETWEEN použijeme k definování rozsahu, který je spojitý IN používáme k definování hodnot, které jsou diskrétní – nespojité Syntaxe IN… Čtěte více »

SQL BETWEEN operátor – Definujeme rozsah v podmínce

Tento operátor používáme v SQL když potřebujeme ověřit, jestli určitá hodnota patří do nějakého rozsahu. Tento operátor se používá spolu s “AND” příkazem, kterým definujeme daný rozsah. Operátor můžeme použít ve většině klauzulí, ale nejčastěji se s ním setkáme ve WHERE při stanovení omezující podmínky. Syntaxe BETWEEN v SQL: SELECT Datum FROM dbo.Tabulka WHERE Datum BETWEEN ‘1900-01-01’ and… Čtěte více »

SQL Transakce COMMIT ROLLBACK

Jako transakci označujeme v SQL logickou množinu nebo sekvence operací, která je do této transakce patří. SQL Transakce můžeme použít pokud nad databázemi provádíme nějaké změny. Všechny prováděné změny jsou poté do této transakce zahrnuty. Můžeme je rozdělit na systémové a uživatelské transakce. Výhodou používání transakcí je to, že provedené změny jsou odvolatelné a transakci musíme… Čtěte více »