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 vědět, tak na to někde na webu určitě bude odpověď.
Pojďme se tedy podívat na základy SQL v příkladu.
Základy SQL – postupnými kroky složíme SQL dotaz
Úkol: Představte si tabulku obsahující data o lidech. Úkolem bude vybrat z tabulky “Lide” všechny, kteří jsou narozeni mezi rokem 1.1.1995 a 31.12.2005 včetně. Ve výsledku skriptu nás zajímá jméno, příjmení a datum narození. Všechny záznamy by měly být seřazeny sestupně podle příjmení.
Příkaz SELECT jako první v pořadí
Touto klauzulí databází říkáme, že chceme zobrazit nějaká data. Současně v ní definujeme jaká data (Sloupce) chceme vybrat.
Průběžný SQL skript:
SELECT
Jmeno,
Prijmeni,
Datum_Narozeni
Pokud bychom tento skript pustili nad databází, tak by výsledkem byla chyba. Důvodem je to, že jsme nedeklarovali odkud mají být pole “Jmeno”, “Prijmeni” a “Datum_Narozeni” vybrany. Je tedy potřeba vybrat tabulku.
Příkaz FROM
Klauzulí definujeme, kde se informace z předchozího kroku nacházejí = v jaké tabulce je najdeme. Hledam budeme v tabulce “Lide”
Průběžný SQL skript:
SELECT
Jmeno,
Prijmeni,
Datum_Narozeni
FROM Lide
Tento skript již bude funkční a vrátí nám všechny záznamy z tabulky Lide, kde vybranymi sloupci bude Jmeno, Prijmeni a Datum_Narozeni
Příkaz WHERE
Přichází čas na to, abychom výsledek předchozího kroku omezili na Datum narozeni. Obecně tato klauzule slouží k nadefinování omezujících podmínek.
Průběžný SQL skript:
SELECT
Jmeno,
Prijmeni,
Datum_Narozeni
FROM Lide
WHERE Datum_Narozeni >= '1995-01-01' AND Datum_Narozeni <= '2005-12-31'
Podmínka obsahuje sloupec, který chceme nějak omezit. Vidíme, že v SQL můžeme používat operátory jako v matematice ><= atd. Podmínka by se data zjednodušit použitím operátoru “BETWEEN“. V tomto případě by podmínka vypadala WHERE Datum_Narozeni BETWEEN '1995-01-01' AND '2005-12-31'.
Příkaz ORDER BY
Poslední část úkolu je výsledek uspořádat. To se dělá přes příkaz ORDER BY kdy za klauzuli ještě můžeme napsat (není to povinné), jak chceme data uspořádat (ASC – vzestupně nebo DESC – sestupně). Pokud způsob řazení nevyplníme, řadí se data vzestupně (ASC)
Výsledný SQL skript:
SELECT
Jmeno,
Prijmeni,
Datum_Narozeni
FROM Lide
WHERE Datum_Narozeni >= '1995-01-01' AND Datum_Narozeni <= '2005-12-31'
ORDER BY Datum_Narozeni DESC
Doufám, že Vám článek pomohl pochopit základní SQL příkazy a základy SQL. Pokud upřednostňujete samostudium, doporučuju si projít články na tomto webu.
Můžete začít tím, že si projdete články, které se věnují SQL klauzulím:
- SELECT – https://janzednicek.cz/sql-select/
- SELECT DISTINCT – https://janzednicek.cz/sql-select-distinct/
- WHERE – https://janzednicek.cz/sql-where/
- GROUP BY – https://janzednicek.cz/sql-group-by/
- ORDER BY – https://janzednicek.cz/sql-order-by/
- Rozdíl WHERE a HAVING – https://janzednicek.cz/sql-having-vs-where/
Dobrý den,
nemá být seřazeno podle příjmení?
Dobrý den,
nemá být seřazeno dle příjmení a ne data narození?
Díky
Děkuji, skvělé, stručné a vím vše, co potřebuji pro základní orientaci.