Štruktúrovaný jazyk dopytov ponúka používateľom databázy výkonný a flexibilný mechanizmus na vyhľadávanie údajov - príkaz SELECT. V tomto článku sa budeme zaoberať všeobecnou formou príkazu SELECT a vytvoríme spolu niekoľko vzorových databázových dopytov. Ak je toto vaše prvé vpustenie do sveta Štruktúrovaného jazyka dotazu, skôr než budete pokračovať, môžete skontrolovať článok Základy SQL.
Ak chcete vytvoriť novú databázu od začiatku, článok Vytvorenie databáz a tabuliek v SQL by sa mal stať dobrým skokom.
Teraz, keď ste si vybrali základy, začnime naše skúmanie príkazu SELECT. Rovnako ako pri predchádzajúcich lekciách SQL budeme naďalej používať vyhlásenia, ktoré sú v súlade s normou ANSI SQL. Môžete si prečítať dokumentáciu k vášmu DBMS, aby ste zistili, či podporuje pokročilé možnosti, ktoré môžu zvýšiť efektívnosť a / alebo účinnosť vášho SQL kódu.
Všeobecná forma vyhlásenia SELECT
Všeobecná forma príkazu SELECT sa zobrazí nižšie:
SELECT select_list
FROM source
WHERE podmienky (podmienky)
Výraz GROUP BY
HAVING podmienka
ORDER BY výraz
Prvý riadok príkazu informuje procesor SQL, že tento príkaz je príkaz SELECT a že chceme získať informácie z databázy. Výberový zoznam nám umožňuje špecifikovať typ informácií, ktoré chceme získať.
Klauzula FROM v druhom riadku špecifikuje konkrétnu databázu zahrnutú do tabuľky a klauzula WHERE nám dáva možnosť obmedziť výsledky na tie záznamy, ktoré spĺňajú špecifikované podmienky . Posledné tri klauzuly predstavujú pokročilé funkcie mimo rozsahu tohto článku - preskúmame ich v budúcich článkoch SQL.
Najjednoduchší spôsob, ako sa naučiť SQL, je príklad. S tým na mysli, začnime sa pozrieť na niektoré databázové dopyty. V tomto článku budeme používať tabuľku zamestnancov z fiktívnej databázy ľudských zdrojov spoločnosti XYZ Corporation, aby sme ilustrovali všetky naše otázky. Tu je celá tabuľka:
Identifikačné číslo zamestnanca | Priezvisko | Krstné meno | plat | ReportsTo |
1 | kováč | John | 32000 | 2 |
2 | krevety | žalovať | 45000 | NULOVÝ |
3 | Kendall | Tomáš | 29500 | 2 |
4 | jones | Abraham | 35000 | 2 |
5 | allen | zmenka | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | katie | 21000 | 3 |
Načítanie celej tabuľky
Riaditeľ ľudských zdrojov spoločnosti XYZ Corporation dostáva mesačnú správu poskytujúcu informácie o mzdách a výkazníctve pre každého zamestnanca spoločnosti. Generovanie tejto správy je príkladom najjednoduchšej formy vyhlásenia SELECTu. Jednoducho načíta všetky informácie obsiahnuté v databázovej tabuľke - každý stĺpec a každý riadok. Tu je dopyt, ktorý dosiahne tento výsledok:
SELECT *
FROM zamestnancov
Docela priamočiare, že? Hviezdička (*), ktorá sa objavuje v zozname select_list, je zástupná značka používaná na informovanie databázy, že chceme získať informácie zo všetkých stĺpcov v tabuľke zamestnancov, ktoré sú uvedené v klauzule FROM. Chceli sme získať všetky informácie v databáze, takže nebolo nutné použiť klauzulu WHERE na obmedzenie riadkov vybraných z tabuľky.
Tu sú výsledky vyhľadávacích dopytov:
Identifikačné číslo zamestnanca | Priezvisko | Krstné meno | plat | ReportsTo |
---------- | -------- | --------- | ------ | --------- |
1 | kováč | John | 32000 | 2 |
2 | krevety | žalovať | 45000 | NULOVÝ |
3 | Kendall | Tomáš | 29500 | 2 |
4 | jones | Abraham | 35000 | 2 |
5 | allen | zmenka | 17250 | 4 |
6 | Reynolds | Allison | 19500 | 4 |
7 | Johnson | katie | 21000 | 3 |