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

Top 10 pokročilých T-SQL příkazů pro vývoj v SQL Serveru

Tento článek je seznamem příkazů a technik pro práci se SQL Serverem, které jsou rutinní součástí práce zejména pokročilých vývojářů v T-SQL. Pokud vás zajímají spíše základy SQL tak doporučuju rozcestník s návody SQL. Na většinu níže uvedených příkazů existuje tady na webu článek s detailním popisem, příkladem a screenshoty. STRING_SPLIT s parametrem “ordinal” pro… Čtěte více »

SQL ALTER TABLE – Přidat, změnit datový typ, smazat sloupec

SQL příkaz ALTER TABLE řadíme spolu s napříkald CREATE TABLE příkazem do tzv. DDL (Data definition language) příkazů. Umožňuje nám nějakým způsobem změnit definici tabulky. Změnou nad SQL Server tabulkou může být například. přidání nového sloupce smazání sloupce změna datového typu nebo deifnice sloupce změna názvu sloupce Chybová hláška – Saving changes is not permitted… Čtěte více »

SQL | SEQUENCE (Generování ID) a nastavení CACHE

Pro generování ID (primárních klíčů) v aplikačních databázích nebo primárních klíčů – surrogate key  v datových skladech existuje řada přístupů. Většinou jsou používány GUIDy nebo numerická ID. Guidy jsou používány hlavně v aplikačních databázích a jsou generovány například pomocí funkce NEWID(). To má své výhody a nevýhody. Největší nevýhodou je výkon sql dotazů, protože generování GUID… Čtěte více »

SQL, SSRS | Jak vytvořit kalkulačku pro splátkový kalendář v SQL Server – Včetně reportu s parametry

V poslední době jsem věnoval spoustu času finanční matematice v Excelu. Zkusím toho trošku využít a přetočím téma z Excelu do SQL Serveru. Třeba někdo uvažuje o tom, že si udělá aplikaci pro výpočet splátek – taková kalkulačka na splátkový kalendář kde si můžete libovolně zadávat parametry a bude vám to generovat výsledek do tabulky.… Čtěte více »

SQL Dotazy – Nejčastější chyby začátečníků v SQL příkazech při dotazování

Články pro začátečníky zde na webu mají docela velký úspěch a návštěvnost a proto jsem se rozhodl na ně navázat. I ten nejlepší profík v jakémkoliv oboru někdy začínal a ze začátku dělal chyby. S úplnými základy SQL (není potřeba mít předchozí znalosti) se můžete seznámit v článcích: Základní SQL dotazy Základy SQL – Nejpoužívanější… Čtěte více »

SQL Export tabulky ze SQL Serveru do Excelu

V jednom z předchozích článků jsme zkoušeli, jak se dají dostat data z Excelu do SQL tabulky (Import Excelu do SQL databáze). Nyní si ukážeme jak udělat opak – tedy chceme dostat data z SQL databáze do Excelu – export tabulky. Obecně tento postup téměř nevyužívám, protože při exportu do excelu (ale i z Excelu)… Čtěte více »

SQL THROW zavolání výjimky – alternativa k RAISERROR a rozdíly

Před časem jsem zde na webu zveřejnil článek o RAISERROR příkazu, který vyvolá exception s tím, že jsme schopni přes severity (závažnost) ovlivnit, jestli skript bude nebo nebude pokračovat dále. Příkaz THROW je alternativní příkaz, který byl poprvé uveden v rámci SQL Server 2012. Syntaxe THROW v SQL Server Syntaxe je v porovnání s RAISERROR… Čtěte více »

SQL RAISERROR – Jak zavolat ve skriptu error a přerušit skript

V určitých situacích potřebujeme uvnitř SQL skriptu zavolat chybu a skript přerušit. Typickým případe je třeba nesplnění nějakého data quality checku nebo potřeba zavilat příkaz uvnitř BEGIN /END TRY BEGIN/END CATCH konstrukce. V podobných případech můžeme použít příkaz RAISERROR nebo novější příkaz THROW. V tomto článku se podíváme na první zmíněný příkaz. Příkaz THROW je jednodušší.… Čtěte více »

SQL Přehledně zformátovaný kód

Každý ví, že by to měl dělat, ale málokdo to skutečně dělá. Řeč je formátování sql kódu a jeho přehlednosti. Zejména ve větších týmech dokážou pravidla ohledně formátování zjednodušit a zefektivnit práci. Mnohdy i o několik desítek procent/mnoho man days v případě revizí/úprav kódu a refaktoringu kódu. Proč je správně naformátovaný kód důležitý Každý kód… Čtěte více »

SQL Synonym – alternativní název objektu v databázi

SQL Synonym je příkaz, který je v SQL Server již od verze SQL Server 2005. Tato funkce slouží k tomu, že můžeme vytvořit referenci (alternativní jméno) na objekt v jeho kompletní cestě – four part name, tedy [Server].[Databáze].[schéma].[objekt]. To je velmi pohodlné, protože nemusíme tolik psát a je to i výhodné pokud pracujeme v databázi,… Čtěte více »