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

BCP utilita – rychlý bulk import a export v SQL Server

BCP je utilita, která je defaultně nainstalována s edicemi SQL Server a slouží k hromadnému importu nebo exportu velkého objemu dat v uživatelsky definovaném formátu. Tato utilita je optimalizována pro velké přesuny dat buďto mezi instancemi SQL serveru nebo mezi SQL instancí a nějakým textovým souborem. Utilita se používá jak pro jednorázový import/export dat, tak… Čtěte více »

xp_cmdshell – Jak zapnout cmdshell v SQL Server?

xp_cmdshell je opravdu velmi silná procedura, která umožňuje spouštět příkazy přes příkazovou řádku (cmd). Pomocí cmdshell můžete přes SQL platformu realizovat jakoukoliv operaci nad Windows serverem – např. kopírování souborů, vytváření, mazání, spouštění bcp pro import a export dat, apod. Z ale toho ale plynou také velká bezpečnostní rizika. Proto je také procedura defaultně vypnutá… Čtěte více »

SQL Server Agent pro SQL Express + návod

SQL Server agent je nástroj integrovaný do SQL Serveru, jehož hlavním účelem je automatické plánování a spouštění úloh. Prostřednictvím SQL Agenta si můžeme založit tzv. Job a v rámci Jobu naplánovat jednotlivé úlohy – třeba spuštění skriptu, SSIS package, powershellu a mnoho dalšího. SQL Server agent je ale bohužel dostupný až od edice Standard a… Čtěte více »

SQL SQLCMD (Server command line) – SQL přes cmd

V tomto krátkém článku představím možnost, jak lze spustit sql skript mimo SQL management studio nebo jiný SW nástroj. Použijeme utilitu SQL server command line, zkráceně sqlcmd. Tato utilita umožňuje pracovat se SQL serverem prostřednictvím příkazové řádky. Využití je zřejmé a to třeba práce s SQL z různých aplikací. Já si tímto příspěvkem připravuju půdu… Čtěte více »

Kde absolvovat SQL školení? Seznam školících středisek a porovnání

Krátce na úvod – SQL je standardizovaný strukturovaný dotazovací jazyk. Využívá se zejména při práci s daty v relačních databázích. Naučit se pracovat s databázemi a obecně s SQL není žádná věda. Není to totiž programovaci, ale dotazovací jazyk. Můžete se učit z článků na tomto webu nebo zajít na nějaké SQL školení zaměřené právě… Čtěte více »

Základní SQL dotazy – Přehled selectů pro začátečníky

Dnes tu mám článek určený pro změnu začátečníkům. Bude plný příkladů sql dotazů s tím, že si to dáme od těch nejzákladnějších a postupně budeme přitvrzovat. SQL dotazy budou seřazeny chronologicky podle obtížnosti. Postupně budu přidávat další. Pro IT oddělení je dnes znalost SQL už nutnost, ale nastala doba, kdy SQL dotazování používají nejen ajťáci,… Čtěte více »

SQL ROLLUP, CUBE, GROUPING SETS – Součty a mezisoučty

Co takhle rozšířit si agregační GROUP BY klauzuli o využití užitečných operátorů? GROUP BY používáme v SQL při agregačních operacích a platí, že při jejím použítí dochází k agregaci přes všechny sloupce. Pomocí takto jednoduchého “groupování” ale nejsme schopni udělat součty a mezisoučty (Totals a subtotals). Existuje několik operátorů, pomocí kterých se jednoduše můžeme na Totals dotázat.… Čtěte více »

T-SQL Online kvíz – pro začátečníky

Dnes jsem si pro vás připravil pro změnu SQL kvíz určený pro zkušenější začátečníky a mírně pokročilé. Úspěšné dokončení tohoto kvízu znalostí by mělo být rutinní pro člověka, který s SQL denně pracuje. Tento T-SQL Online kvíz obsahuje 15 otázek a hranice mezi úspěchem a neúspěchem stanovuji alespoň 70 % správných odpovědí. Obtížnost testu je… Čtěte více »

SQL Server TRY CATCH & Error handling

Příkaz SQL TRY CATCH je navržen pro kontrolu code flow v případě, že nastane chybová situace (Error handling). Tato konstrukce obsahuje 2 bloky s tím, že je zde možné použít také transakci (viz článek o Transakcích). Pokud nastane chyba v prvním bloku – TRY..END , tak je aktivován mechanismus v CATCH..END bloku. Syntaxe SQL Server TRY CATCH BEGIN TRY… Čtěte více »

SQL UNION ALL – Sjednocení dotazů

Operátor UNION ALL v SQL umožnujě provést sjednocení 2 výsledky dotazů s tím, že neodstraní duplicity v dotazech. Operátor vrátí všechny záznamy z obou dotazů bez ohledu na duplicity, které v nich existují. UNION ALL patří do skupiny tzv. SET operators spolu s UNION, EXCEPT, INTERSECT Syntaxe: SELECT Sloupec FROM dbo.Tabulka WHERE Podmínka   UNION ALL SELECT Sloupec FROM dbo.Tabulka WHERE Podmínka… Čtěte více »