13. 3. 2026
Autor: Tomáš Loubal
SQL pro začátečníky: Základy databází a dotazů
zdroj: Pixabay

SQL, zkratka pro Structured Query Language, je standardizovaný programovací jazyk určený pro správu a manipulaci s daty uloženými v relačních databázích. Jeho znalost se stává nezbytnou součástí dovednostní sady každého, kdo pracuje s daty, ať už se jedná o datové analytiky, software developery či administrátory databází. V tomto článku se zaměříme na základní koncepty SQL, které potřebují začátečníci k získání pevných základů pro další studium a práci s databázemi.

Relační databáze jsou systémy, které organizují data do tabulek. Každá tabulka se skládá z řádků a sloupců, kde každý sloupec reprezentuje určitý atribut údajů (například jméno, věk, adresa) a každý řádek odpovídá jedné datové entitě. SQL dotazy umožňují uživatelům vyhledávat, vkládat, aktualizovat nebo mazat data v těchto databázích efektivně a strukturovaně.

Začneme s syntaxí SQL, jak psát základní dotazy a jaké klíčové příkazy by měl každý začátečník znát. Přiklady dotazů, které postupně probereme, vám ukážou, jak lze pomocí jednoduchých příkazů pracovat s daty, vybírat specifické informace, joinovat tabulky nebo třídit data podle určitých kritérií. Cílem tohoto článku je poskytnout solidní základ, který vám umožní začít učit se SQL a efektivně pracovat s jakýmikoli relačními databázemi.

Základy práce s SQL

SQL, nebo Strukturovaný Dotazovací Jazyk, je standardizovaný programovací jazyk používaný pro správu relačních databází a provádění různých operací s daty uloženými v nich. Základem práce s SQL je schopnost psát dotazy, které umožňují vytvářet, modifikovat, mazat a vyhledávat data.

Pro začátek je důležité se seznámit s několika základními příkazy:

  • SELECT – slouží k vybírání dat z jedné nebo více tabulek.
  • INSERT – umožňuje vkládání nových dat do tabulky.
  • UPDATE – změní existující data v tabulce.
  • DELETE – vymaže data z tabulky.

Kromě základních operací je také nutné rozumět konceptům jako jsou klíče (primární a cizí), indexy a transakce, které hrají klíčovou roli v efektivitě a integritě databázových systémů. Praktická práce s těmito konstrukty vám umožní lépe porozumět, jak SQL funguje a jaké možnosti nabízí pro práci s daty.

Tvorba tabulek v SQL

je základní operací pro práci s relačními databázemi. Pro vytvoření tabulky se používá příkaz CREATE TABLE, který definuje jméno tabulky a seznam sloupců spolu s jejich datovými typy a možnými omezeními. Například pro vytvoření tabulky s uživatelskými údaji by příkaz mohl vypadat takto:

CREATE TABLE Uzivatel (
    ID int NOT NULL,
    Jmeno varchar(255) NOT NULL,
    Vek int,
    PRIMARY KEY (ID)
);

Výše uvedený příkaz vytvoří tabulku nazvanou Uzivatel se čtyřmi sloupci: ID, Jmeno, Vek, a ID je nastaveno jako primární klíč tabulky. Sloupce mohou mít různé datové typy, jako je int pro celá čísla nebo varchar pro textové řetězce.

Kromě základních datových typů je možné u sloupců nastavit různá omezení (constraints) ke zvýšení integrity dat. Tyto omezení mohou zahrnovat NOT NULL, které nedovoluje prázdné (null) hodnoty, UNIQUE pro unikátní hodnoty v sloupci, CHECK pro omezení rozsahu nebo hodnot dat a FOREIGN KEY pro definování vztahů mezi tabulkami.

  • NOT NULL: Zajistí, že sloupec nemůže obsahovat prázdné hodnoty.
  • UNIQUE: Zajistí, že všechny hodnoty v sloupci jsou jedinečné.
  • CHECK: Omezuje hodnotu na základě specifikované podmínky.
  • FOREIGN KEY: Umožňuje vytvořit vazbu na primární klíč jiné tabulky, čímž podporuje referenční integritu mezi tabulkami.

Používání příkazů SELECT

Používání příkazů SELECT je fundamentální dovedností pro každého, kdo pracuje s databázemi SQL. Příkaz SELECT se používá k vybírání dat z jedné nebo více tabulek. Umožňuje specifikovat sloupce, které chcete ve výsledku zobrazit, a podmínky pro omezení zobrazených řádků.

Pro výběr všech dat z tabulky se používá základní syntaxe:
SELECT * FROM nazev_tabulky;
Tento příkaz zobrazí všechny sloupce a všechny řádky z tabulky „nazev_tabulky“. Je to rychlý způsob, jak získat přehled o všech datech, ale může být neefektivní, pokud tabulka obsahuje velké množství dat.

Další použití příkazu SELECT umožňuje specifikovat jednotlivé sloupce, které chcete získat, například:
SELECT sloupec1, sloupec2 FROM nazev_tabulky;
Tím se zobrazí pouze ty sloupce, které jsou uvedeny po příkazu SELECT. Lze také přidat podmínky, které dále filtrují řádky dat pomocí klauzule WHERE, například:
SELECT * FROM nazev_tabulky WHERE podminka;
To zobrazí všechny sloupce a jen řádky, které odpovídají zadané podmínce.

Lze také kombinovat vícero tabulek a používat pokročilé funkce jako seskupení dat, agregace a mající klauzuly, což umožňuje vysoce specifické dotazy na data. Příkaz SELECT je tak extrémně silným nástrojem, který, pokud je správně použit, poskytuje téměř neomezené možnosti pro analýzu a zpracování dat uložených v relačních databázích.

Filtrování dat pomocí WHERE

Klauzule WHERE v SQL se používá k omezení počtu záznamů výsledků z dotazu podle zadaných kritérií. Toto je zvláště užitečné, když pracujeme s velkými objemy dat a chceme získat pouze specifické informace. Například, pokud bychom chtěli získat všechny záznamy zaměstnanců, kteří mají věk vyšší než 30 let, můžeme použít dotaz SELECT * FROM zamestnanci WHERE vek > 30.

Klauzule WHERE může obsahovat různé operátory porovnání jako jsou >, <, =, <> (nerovná se), BETWEEN (mezi určitými hodnotami), IN (uvnitř určeného seznamu hodnot) a mnohé další. To umožňuje uživatelům formulovat složité dotazní podmínky. Například, pro výběr zaměstnanců, kteří mají věk mezi 20 a 30 roky a pracují na pozici ‚Inženýr‘, dotaz by vypadal takto: SELECT * FROM zamestnanci WHERE vek BETWEEN 20 AND 30 AND pozice = 'Inženýr'.

Používání klauzule WHERE není omezeno pouze na výběry. Může být aplikováno také v příkazech UPDATE a DELETE pro úpravu nebo mazání specifických záznamů. Příklad UPDATE by mohl být UPDATE zamestnanci SET plat = 50000 WHERE id = 101, což znamená, že plat zaměstnance s ID 101 se změní na 50000. Podobně, příkaz DELETE by mohl vypadat takto: DELETE FROM zamestnanci WHERE pozice = 'Manažer', což odstraní všechny záznamy zaměstnanců s pozicí Manažer.

Je také možné kombinovat více podmínek v klauzuli WHERE pomocí logických operátorů AND a OR pro ještě specifičtější filtraci dat. Například, získání zaměstnanců, kteří mají věk menší než 40 let nebo pracují jako ‚Manažer‘ by bylo postaveno na dotazu: SELECT * FROM zamestnanci WHERE vek < 40 OR pozice = 'Manažer'.

Spojování tabulek pomocí JOIN

Spojení tabulek v databázi je klíčovou funkcí SQL, která umožňuje efektivní práci s více datovými sady. Existuje několik typů JOIN operátorů, které definují, jak jsou tabulky spojené a jaké řádky budou výsledkem dotazu zahrnuty. Nejběžnějšími typy JOIN jsou INNER JOIN, LEFT JOIN, RIGHT JOIN a FULL JOIN.

INNER JOIN vrací řádky, kde existuje shoda v obou spojovaných tabulkách. Tento typ spojení je nejužívanější, protože poskytuje přesné shody mezi tabulkami. Například, pokud spojujeme tabulky 'Zaměstnanci' a 'Oddělení' přes společný sloupec 'oddělení_id', INNER JOIN vrátí pouze ty zaměstnance, kteří mají přiřazené oddělení.

  • LEFT JOIN (také známý jako LEFT OUTER JOIN) zahrnuje všechny řádky z levé tabulky a odpovídající řádky z pravé tabulky. Pokud shoda v pravé tabulce neexistuje, výsledné řádky budou mít hodnoty NULL v sloupcích pravé tabulky.
  • RIGHT JOIN (RIGHT OUTER JOIN) funguje opačně než LEFT JOIN a zahrnuje všechny řádky z pravé tabulky a odpovídající řádky z levé tabulky.
  • FULL JOIN zahrnuje řádky z obou tabulek. Pokud shoda existuje, řádky jsou spojeny. Pokud shoda neexistuje, neodpovídající řádky v jedné tabulce jsou doplněny hodnotami NULL v sloupcích druhé tabulky.

Při použití JOIN je důležité specifikovat klíčové sloupce, ve kterých se tabulky mají spojovat, což je obvykle prováděno pomocí klíčového slova ON následovaného podmínkou shody. Efektivní použití JOIN může výrazně zlepšit výkon dotazů a umožnit složitější analýzy dat.

Funkce a agregace v SQL

Ve světě SQL jsou funkce a agregace základními nástroji pro manipulaci a analýzu dat. Funkce umožňují provádět výpočty nebo transformace dat, zatímco agregace jsou používány k souhrnnému zpracování hodnot z více řádků do jedné výstupní hodnoty.

Funkce lze v SQL rozdělit na různé typy:

  • Skalární funkce: Operují na jednotlivých hodnotách a vracejí jednu hodnotu. Příkladem je UPPER(), která konvertuje textové řetězce na velká písmena.
  • Agregační funkce: Tyto funkce pracují nad množinou hodnot a produkují jednu hodnotu, například SUM(), která spočítá součet všech hodnot sloupce.
  • Okenní funkce: Používají se k provádění výpočtů napříč setem řádků, které jsou nějakým způsobem vzájemně související (např. časové řady), jako je ROW_NUMBER().

Agregace jsou často využívané k získání souhrnných dat, což je esenciální pro statistickou analýzu a decision making. SQL poskytuje několik základních agregátních funkcí, jako jsou:

  • AVG() – vypočítá průměrnou hodnotu zadaného sloupce.
  • COUNT() – počítá počet řádků, které odpovídají specifickým kritériím.
  • MAX() a MIN() – najdou nejvyšší nebo nejnižší hodnotu ve sloupci.

V tomto článku jsme se zaměřili na základy SQL, které jsou klíčové pro každého, kdo chce začít pracovat s databázemi. Prostřednictvím příkladů dotazů a vysvětlení základních příkazů, jako jsou SELECT, INSERT, UPDATE a DELETE, jsme ukázali, jak lze efektivně manipulovat s daty a získávat z nich potřebné informace. Důležité je si připomenout, že praxe a opakování jsou nezbytné pro získání plynulosti v SQL. Doporučujeme další studium a experimentování s různými typy dat a struktur databází, aby se rozšířily vaše znalosti a dovednosti. S trvalým učením a praxí se můžete stát zdatným uživatelem SQL, schopným efektivně řešit různé databázové problémy a přispívat k lepší organizaci a přístupu k informacím ve vašem profesionálním prostředí.

Přidejte si rady a návody na hlavní stránku Seznam.cz
Přidejte si rady a návody na hlavní stránku Seznam.cz

Napište komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *