Archiv kategorie: SQL tutorial

Sekce SQL tutorial

T-SQL je jazyk, který se používá k manipulaci s databází na platformě MS SQL Server. V této sekci, která je takovým archivem tutoriálů naleznete řadu článků na tématiku TSQL. Pokud se chcete SQL naučit nebo si chcete jen připomenout jak nějaká SQL funkce funguje, koukněte na příslušný SQL tutorial. Snažím se o to, aby každý článek obsahoval i příklad použítí a ukázku kódu.

SQL Transakce COMMIT ROLLBACK – předcházejte průšvihům

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… Čti »

SQL COUNT funkce – jak si spočítat řádky v tabulce?

Funkce sql COUNT patří do Agregačních funkcí  a je to jedna z nejjednodušších a nejpoužívanějších funkcí v SQL. Umožňuje spočítat řádky v určitém sloupci nebo řádky v celé tabulce. (!!!) Pokud počítáme pomocí sql COUNT počet záznamů nad určitým sloupcem, jsou NULL záznamy vynechány. Syntaxe SQL COUNT funkce: 1 Počet řádků v celé tabulce: SELECT COUNT(*)… Čti »

SQL EXISTS operátor – Test existence

EXISTS je T-SQL operátor, pomocí kterého lze otestovat existenci výsledku ve vnořeném dotazu (subquery) a na základě toho provést dotaz nebo nějakou úlohu. Sql EXISTS provádí tzv. „Existence test“. Syntaxe SQL EXISTS 1 SQL Dotaz: SELECT Sloupce FROM dbo.Tabulka WHERE EXISTS    (SELECT Sloupce     FROM Dbo.Tabulka2     WHERE Podminka); (!!!) Pozor operátor… Čti »

SQL REPLACE funkce – Nahrazení textového řetězce

Funkce SQL REPLACE slouží k nahrazení textového řetězce nebo jeho části. Můžeme ho zařadit do textových funkcí – string functions. Před časem jsem napsal velký přehled T-SQL textových funkcí -najdete ho je zde Syntaxe funkce REPLACE SELECT REPLACE(<Pole s text ve kterém nahrazujeme>, <nahrazovaný znak>, <nahrazující znak>) FROM dbo.Tabulka Funkce má 3 argumenty: Pole s… Čti »

SQL CTE WITH klauzule – dotazy a procedury budou přehlednější

SQL CTE neboli Common table expression je zjednodušeně dočasná tabulka (lépe řečeno result set) v podobě výrazu, po jehož deklarování pomocí klauzule WITH se na něj můžeme odkázat v SELECT, INSERT, DELETE nebo UPDATE skriptu. Pomocí CTE lze provádět (a je to dokonce doporučeno) rekurzivní dotazy v případě, že máme  nad tabulkou nadefinovánu parent – child hierarchii… Čti »

SQL ADD COLUMN – Přidání sloupce do tabulky

Přidání sloupce do tabulky lze udělat dvěma způsoby. Prvním je přes sql management studio v grafickém rozhraní a druhým způsobem je použít příkaz T-SQL ADD COLUMN. Syntaxe T-SQL ADD COLUMN: ALTER TABLE dbo.Tabulka ADD <Sloupec> DatovyTyp NULL nebo NOT NULL Sloupec se založí na konec tabulky. Pokud je tabulka, do které chceme přidat nový sloupec neprázdná… Čti »

SQL ISNULL a COALESCE funkce – jaké jsou rozdíly a použítí

ISNULL a COALESCE jsou funkce, které slouží k práci s prázdnými hodnotami (NULL). Obě hodnoty vrací první hodnotu, která je různá od NULL z předem nadefinovaných vstupních parametrů. Mezi oběma funkcemi jsou ale rozdíly. Syntaxe ISNULL: SELECT ISNULL(<Sloupec>, <Náhradní Sloupec/Hodnota 1>) FROM dbo.Tabulka Syntaxe COALESCE: SELECT COALESCE(<Sloupec>, <Náhradní Sloupec/Hodnota 1>, <Náhradní Sloupec/Hodnota 2>,…) FROM dbo.Tabulka Rozdíly mezi… Čti »

SQL CREATE TABLE- Jak na založení tabulky v databázi

Založení tabulky v databázi patří mezi základní dovednosti. Při založení pomocí příkazu sql CREATE TABLE tabulky definujeme: Název tabulky spolu s určením databáze a schématu Seznam sloupců spolu s datovými typy, constraints a definováním toho jestli může být sloupec prázdný (NULL vs NOT NULL) Tabulku můžeme založit v SQL dvěma základními způsoby: CREATE TABLE – v… Čti »

SQL MERGE příkaz – INSERT, UPDATE, DELETE jedním vrzem

Příkaz SQL MERGE je pokročilý způsob jak porovnat 2 tabulky (Source a Destination). Porovnáváme záznamy a na základě shody (nebo neshody) prováníme UPDATE, INSERT nebo DELETE podle toho, jak porovnání záznamů v tabulkách dopadne. Využijeme zejména při synchronizaci dat mezi objekty/systémy nebo při ETL procesech v rámci datového skladu. Syntaxe: MERGE CilovaTabulka AS TARGET USING ZdrojovaTabulka AS… Čti »

SQL CASE WHEN THEN ELSE s příklady

CASE je výraz (expression), který umožňuje aplikovat IF/THEN logiku v sql skritpu. Jde o podmíněnou logiku, kdy na základě podmínky (ve WHEN) vrátí hodnotu definovanou v THEN části. Existují 2 formy Simple CASE Expression (jednoduchá forma) a Searched CASE expression (forma pro vyhledávání). Konstrukce: CASE obsahuje tyto kompomenty – CASE, WHEN, THEN, ELSE, END Začínáme… Čti »

SQL LIKE operátor s příklady – umíte použít wildcards?

Tento operátor umožňuje vyhledat řetězec textu na základě určitého paternu. Nejčastěji ho využijete v klauzuli WHERE, ale dá se aplikovat v libovolné části SQL dotazu, např. SELECT, UPDATE nebo DELETE. T-SQL LIKE má následující syntaxi: Syntaxe: SELECT <Sloupec 1> FROM dbo.Tabulka WHERE <Sloupec> LIKE <patern>; Operátor se dá použít i k aplikaci negativně vymezené podmínky, použili bychom tedy… Čti »

SQL DELETE table – mazání + 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 SQL TRUNCATE). Každý je jiny a hodí se pro jinou situaci. Je dobré znát oba a podle potřeby si vybrat. Syntaxe (první varianta je optional): DELETE FROM dbo.Tabulka WHERE Podminka; nebo DELETE dbo.Tabulka WHERE Podminka; Na velké množství záznamů opatrně Pomocí… Čti »

SQL TRUNCATE table – nepoužívej DELETE když nemusíš

T-SQL TRUNCATE statement vymaže všechny záznamy v tabulce. Na rozdíl od DELETE (viz. článek SQL 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; První varianta… Čti »

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… Čti »

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… Čti »