Jazyk strukturovaných dotazů nabízí uživatelům databází výkonný a flexibilní mechanismus načítání dat - příkaz SELECT. V tomto článku se podíváme na obecnou formu příkazu SELECT a sestavujeme několik ukázkových databázových dotazů dohromady. Pokud se jedná o první výpad do světa strukturovaného dotazovacího jazyka, přečtěte si před tím, než budete pokračovat, přečtěte si článek SQL Fundamentals .
Pokud hledáte návrh nové databáze od začátku, článek Vytváření databází a tabulek v SQL by se měl ukázat jako dobrý skokový bod.
Nyní, když jste se vylepšili základy, začneme naše zkoumání příkazu SELECT. Stejně jako u předchozích lekcí SQL budeme i nadále používat příkazy, které odpovídají standardu ANSI SQL. Můžete si přečíst dokumentaci vašeho DBMS, abyste zjistili, zda podporuje pokročilé možnosti, které mohou zvýšit efektivitu a / nebo účinnost vašeho SQL kódu.
Obecná forma prohlášení SELECT
Obecná podoba příkazu SELECT se zobrazí níže:
SELECT select_list
FROM source
WHERE podmínky (podmínky)
Výraz GROUP BY
HAVING podmínka
ORDER BY výraz
První řádek příkazu říká procesoru SQL, že tento příkaz je příkazem SELECT a že chceme načíst informace z databáze. Výběr_listu nám umožňuje určit typ informací, které chceme načíst.
Klauzule FROM v druhém řádku určuje konkrétní databázové tabulky a klauzuli WHERE nám dává možnost omezit výsledky na záznamy, které splňují zadané podmínky . Poslední tři klauzule představují pokročilé funkce mimo rozsah tohoto článku - budeme je zkoumat v budoucích článcích SQL.
Nejjednodušší způsob, jak se naučit SQL, je příklad. S ohledem na to začneme zkoumat některé databázové dotazy. V tomto článku použijeme tabulku zaměstnanců z fiktivní databáze lidských zdrojů XYZ Corporation, abychom ilustrovali všechny naše dotazy. Zde je celá tabulka:
EmployeeID | Příjmení | Jméno | Plat | Nahlásit |
1 | Kovář | John | 32000 | 2 |
2 | Scampi | Žalovat | 45000 | NULA |
3 | Kendall | Tomu | 29500 | 2 |
4 | Jonese | Abrahamovi | 35000 | 2 |
5 | Allen | Účtovat | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |
Načtení celé tabulky
Ředitelka lidských zdrojů společnosti XYZ Corporation obdrží měsíční zprávu poskytující informaci o platu a výkaznictví pro každého zaměstnance společnosti. Generování této zprávy je příkladem nejjednodušší formy příkazu SELECT. Jednoduše načítá všechny informace obsažené v tabulce databáze - každý sloupec a každý řádek. Zde je dotaz, který provede tento výsledek:
SELECT *
FROM zaměstnanci
Docela přímočará, že? Hvězdička (*), která se objevuje v seznamu select_list, je zástupný znak, který slouží k informování databáze, že chceme získat informace ze všech sloupců v tabulce zaměstnanců, které jsou uvedeny v klauzuli FROM. Chtěli jsme načíst všechny informace v databázi, takže nebylo nutné použít klauzuli WHERE k omezení řádků vybraných z tabulky.
Zde vypadají výsledky našich dotazů:
EmployeeID | Příjmení | Jméno | Plat | Nahlásit |
---------- | -------- | --------- | ------ | --------- |
1 | Kovář | John | 32000 | 2 |
2 | Scampi | Žalovat | 45000 | NULA |
3 | Kendall | Tomu | 29500 | 2 |
4 | Jonese | Abrahamovi | 35000 | 2 |
5 | Allen | Účtovat | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | Katie | 21000 | 3 |