← Zpět na obsah

** Kapitola pro maturitní obory

Kapitola 17.2**: Dotazovací jazyk SQL

Co se naučíš: Pochopíš základy SQL (Structured Query Language) – jazyka pro práci s databázemi. Naučíš se psát dotazy pro výběr, vkládání, aktualizaci a mazání dat.

1. Co je SQL?

SQL (Structured Query Language) je standardní jazyk pro komunikaci s relačními databázemi. Používá se pro:

2. Základní SQL příkazy (CRUD)

SELECT – Výběr dat

-- Vyber všechny sloupce ze všech záznamů
SELECT * FROM Zakaznici;

-- Vyber konkrétní sloupce
SELECT Jmeno, Email FROM Zakaznici;

-- Vyber s podmínkou
SELECT * FROM Zakaznici WHERE Vek > 18;

-- Řazení
SELECT * FROM Zakaznici ORDER BY Jmeno ASC;

-- Limit počtu výsledků
SELECT * FROM Zakaznici LIMIT 10;
    

INSERT – Vložení dat

-- Vlož nový záznam
INSERT INTO Zakaznici (Jmeno, Email, Vek)
VALUES ('Jan Novák', 'jan@email.cz', 25);

-- Vlož více záznamů najednou
INSERT INTO Zakaznici (Jmeno, Email, Vek) VALUES
    ('Marie Dvořáková', 'marie@email.cz', 30),
    ('Petr Svoboda', 'petr@email.cz', 22);
    

UPDATE – Aktualizace dat

-- Aktualizuj konkrétní záznam
UPDATE Zakaznici
SET Email = 'novy.email@email.cz'
WHERE ID = 1;

-- Aktualizuj více záznamů
UPDATE Zakaznici
SET Aktivni = true
WHERE Vek >= 18;
    

DELETE – Smazání dat

-- Smaž konkrétní záznam
DELETE FROM Zakaznici WHERE ID = 1;

-- Smaž podle podmínky
DELETE FROM Zakaznici WHERE Aktivni = false;

-- POZOR! Smaže VŠE:
DELETE FROM Zakaznici;
    
SQL dotaz - výběr dat z tabulky
SQL dotaz - výběr dat z tabulky

3. WHERE – Podmínky

-- Operátory porovnání
WHERE Vek = 25          -- Rovná se
WHERE Vek > 18          -- Větší než
WHERE Vek >= 18         -- Větší nebo rovno
WHERE Vek < 30          -- Menší než
WHERE Vek BETWEEN 18 AND 30  -- Rozsah

-- Logické operátory
WHERE Vek > 18 AND Mesto = 'Praha'
WHERE Vek > 65 OR Vek < 18
WHERE NOT Aktivni

-- Textové podmínky
WHERE Jmeno LIKE 'Jan%'     -- Začíná na Jan
WHERE Jmeno LIKE '%ová'     -- Končí na ová
WHERE Email LIKE '%@gmail%' -- Obsahuje @gmail

-- Práce s NULL
WHERE Telefon IS NULL
WHERE Telefon IS NOT NULL
    

4. Agregační funkce

-- Počet záznamů
SELECT COUNT(*) FROM Zakaznici;

-- Součet
SELECT SUM(Castka) FROM Objednavky;

-- Průměr
SELECT AVG(Vek) FROM Zakaznici;

-- Minimum a maximum
SELECT MIN(Cena), MAX(Cena) FROM Produkty;

-- Seskupení (GROUP BY)
SELECT Mesto, COUNT(*) as Pocet
FROM Zakaznici
GROUP BY Mesto;
    

5. JOIN – Spojování tabulek

JOIN umožňuje spojit data z více tabulek dohromady. Představ si, že máš tabulku zákazníků a tabulku objednávek – pomocí JOIN je propojíš:

-- Spojení dvou tabulek
SELECT Zakaznici.Jmeno, Objednavky.Datum, Objednavky.Castka
FROM Zakaznici
JOIN Objednavky ON Zakaznici.ID = Objednavky.Zakaznik_ID;
    
JOIN - spojování tabulek
JOIN - spojování tabulek

6. Kde vyzkoušet SQL?

SQL můžeš vyzkoušet online bez instalace čehokoli:

Práce s databází - dotazování a výsledky
Práce s databází - dotazování a výsledky

** Úkoly pro maturitní obory

  1. Online SQL: Otevři W3Schools SQL editor. Vyzkoušej příkazy SELECT, WHERE, ORDER BY na vzorové databázi.
  2. SELECT úkoly: Napiš SQL dotazy: a) Vyber zákazníky z Prahy, b) Vyber 5 nejdražších produktů, c) Spočítej zákazníky podle měst.
  3. INSERT/UPDATE/DELETE: Napiš příkazy pro: a) Přidání nového zákazníka, b) Změnu emailu zákazníka ID=1, c) Smazání neaktivních zákazníků.
  4. Excel → SQL: Vezmi svou Excel tabulku a napiš SQL příkazy, které by vytvořily stejnou tabulku a naplnily ji daty.
  5. Word – SQL příručka: Vytvoř tahák "SQL pro začátečníky" (2-3 strany). Zahrň: CRUD operace, WHERE, ORDER BY, agregační funkce s příklady.
  6. PowerPoint – Prezentace: Vytvoř prezentaci "Úvod do SQL" (12-15 snímků) s příklady a cvičeními.
← Zpět na obsah