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 DELETE table – mazání a rozdíl DELETE vs TRUNCATE

Rozeznáváme 2 typy příkazu, které slouží k mazání dat – SQL příkazy DELETE a TRUNCATE (viz článek mazání dat v tabulce – TRUNCATE). Každý je jiny a hodí se pro jinou situaci. Syntaxe DELETE (první varianta je optional): DELETE FROM dbo.Tabulka WHERE Podminka; nebo DELETE dbo.Tabulka WHERE Podminka;   Mazání velkého množství záznamů opatrně Pomocí příkazu můžeme z… Čtěte více »

SQL TRUNCATE table – Definice a příklad

T-SQL TRUNCATE statement vymaže všechny záznamy v tabulce. Na rozdíl od DELETE (viz. článek o příkazu DELETE) příkazu nemáte možnost filtrovat, které záznamy vymazat. Je to všechno nebo nic. Truncate je ale za to výrazně rychlejší oproti DELETE díky tomu, že zapisuje daleko méně do transakčního logu. Syntaxe T-SQL Truncate TRUNCATE TABLE dbo.Tabulka; nebo TRUNCATE dbo.Tabulka;  … Čtěte více »

T SQL View – Znáte Create, Alter, Drop View? Víte co je Indexed view?

Views neboli pohledy mají v databázích a datových skladech své místo. Jedná se o objekty, které je v zásadě výhodné využívat, protože neobsahují data (nezabírají storage). Obsahují pouze dotaz do tabulek. Složitější T SQL view však mohou být náročnější na logické operace zejména při komplikovaných dotazech s více joiny do velkých tabulek. Tato situace se dá zase řešit… Čtěte více »

SQL UPDATE tabulky – Syntaxe a příklad UPDATE

Příkaz UPDATE slouží ve SQL ke změně existujících záznamů v tabulce. Můžeme tak upravit 1 záznam, více záznamů nebo všechny. Podmínka, na základě které jsou ovlivněny záznamy, je umístěna ve WHERE klauzuli. Syntaxe – 3 způsoby použítí UPDATE A) Jednoduchá forma: Změna hodnot v určitém sloupci nebo sloupcích na základě podmínky UPDATE dbo.Tabulka SET <Sloupec… Čtěte více »

SQL INFORMATION_SCHEMA Views – Seznam pohledů pro přístup k metadatům

Tento typ pohledů slouží pro přístup k metadatům o objektech v SQL instanci, jsou využívané především administrátory databází. Seznam INFORMATION_SCHEMA Views: Seznam INFORMATION_SCHEMA Views Popis INFORMATION_SCHEMA.CHECK_CONSTRAINTS Poskytuje informace o tzv. CHECK constraints. CHECK Constraints lze definovat nad nějakým sloupcem v tabulce a definovat nad daty pravidla. Pokud je nadefinované  pravidlo porušeno dojde k aktivaci constraintu… Čtěte více »

10 nejužitečnějších MS SQL System stored procedures

System stored procedures jsou užitečným administrativním nástrojem. Zde je 10 z nich, které považuju za nejužitečnější. sp_help – informace o objektech v databázi, datových typech sp_spaceused – Zobrazí místo na disku, které je alokované databázi a storage na jednotlivé databázové objekty včetně počtu řádků v tabulkách sp_who – vrací informaci o aktuálně připojených uživatelích a relacích sp_lock – vrací informace… Čtěte více »

SQL Textové funkce (String functions) – Velký přehled textových funkcí

TSQL není jazykem, který byl primárně navržen pro nějaká velká kouzla s textovými řetězci a manipulaci s nimi. V MS SQL Server tedy nenajdeme příliš vestavěných (build in) funkcí pro práci s textovými řetězci. I přes to se takové funkce najdou a budou se nám určitě hodit, Pojďme se na T-SQL textové funkce podívat. Detailní… Čtěte více »

Základy SQL – Nejpoužívanější příkazy

Tento miničlánek je určen pro začátečníky a popíšeme v něm, jak napsat jednoduchý T-SQL script a vysvětlit tak základní sql příkazy. Postupně k sobě budeme skládat jednotlivé části skriptu a při tom pochopíme k čemu slouží. Kdysi jsem na webu připravil SQL kvíz pro začátečníky. Můžete si zkusit odpovědět na pár jednoduchých otázek a když něco nebudete… Čtěte více »

SQL Komentář v SQL

Komentáře v SQL dotazu slouží k jednoduchému účelu. Udržují kód přehledný pro ostatní a vysvětlují jeho logiku. Pokud nějaký text označíte jako komentář, tak text není chápán jako SQL příkaz a nedojde k jeho provedení. Sql Comment lze napsat dvěma způsoby: Komenář lze označit dvěma pomlčkami “—“. Tento způsob má platnost pouze na 1 řádek komentáře… Čtěte více »

SQL GROUP BY – Agregujte záznamy

GROUP BY klauzuli používáme v SQL k seskupování záznamů. Ve většině případů jde o situaci, kdy potřebujeme udělat nějakou agregační operaci v tabulce (součet tržeb, počet záznamů, průměr, apod). Pořadí klauzule v SQL skriptu SELECT FROM WHERE GROUP BY HAVING ORDER BY Syntaxe klauzule GROUP BY: SELECT [Sloupec1], [Sloupec2], AgregacniFunkce([Sloupec3]) AS Alias FROM Tabulka WHERE… Čtěte více »