Úvod do výběru v Oracle
Oracle je jednou z nejrozšířenějších databází v oboru. Nejčastěji používaným dotazem je SELECT dotaz. Tento dotaz se používá k načtení dat z jedné nebo více tabulek v databázi. Dotaz SELECT se nepoužívá pouze samostatně, ale s ním se používá mnoho podmínek, klauzulí a vnitřních dotazů k získání dat z databází v oboru. Dotaz SELECT nezpracovává žádná data v tabulce, na které se provádí. V tomto článku budeme diskutovat o různých způsobech, jak můžeme použít SELECT dotaz v ORACLE.
Syntaxe:
SELECT expressions
FROM tables
(WHERE conditions);
První dva řádky v syntaxi jsou povinnou součástí syntaxe, ale (WHERE podmínky) jsou volitelné, protože se používají, pokud chceme na základě určitých podmínek extrahovat data z jedné nebo více tabulek. 'Výrazy' v syntaxi představují sloupce tabulky. Chceme-li extrahovat všechna pole z tabulky, vložíme do syntaxe místo výrazů výrazy „*“, jinak vložíme názvy sloupců.
Příklady implementace Select v Oracle
Níže jsou uvedeny různé příklady výběru v programu Oracle:
1. VYBERTE všechna pole bez podmínky KDE
Pro výběr všech polí z tabulek: Použijeme znak '*' pro označení, že chceme extrahovat všechna pole z konkrétní tabulky.
Dotaz:
SELECT * from employee;
Tento dotaz načte všechny záznamy z tabulky, protože k němu není připojena žádná podmínka.
Výstup:
2. VYBERTE všechna pole s podmínkou KDE
Nyní použijeme, kde podmínka na stejný dříve použitý dotaz. V tomto dotazu chceme pouze údaje o konkrétním zaměstnanci. K dosažení tohoto cíle použijeme podmínku where. podívejme se na dotaz
Dotaz:
SELECT * from employee WHERE EMPLOYEE_ID= 'AD001';
V tomto dotazu používáme EMPLOYEE_ID, protože je to primární klíč v této tabulce, a proto je jedinečný.
Výstup:
3. ZVOLTE jediné pole z tabulky
V tomto příkladu použijeme příkaz SELECT k výběru několika polí, ale ne všech polí z tabulky. Podívejme se na dotaz.
Dotaz:
SELECT employee_id, name from employee;
Tento dotaz zobrazí pouze dva sloupce, protože jsme v tomto dotazu nepoužili znak „*“.
Výstup:
4. VYBERTE pole z více tabulek
V tomto příkladu použijeme příkaz SELECT k načtení dat z více než jedné tabulky pomocí JOIN. Podívejme se na dotaz.
Dotaz:
SELECT employee.name, vehicle.vehicle_name from employee INNER JOIN vehicle ON employee.vehicle_id = vehicle.vehicle_id;
Zde v tomto dotazu používáme příkaz SELECT, který spojuje dvě tabulky na základě podmínky, že ID vozidla z tabulky zaměstnanců by mělo odpovídat ID vozidla z tabulky vozidel. Dotaz zobrazí jméno zaměstnance z tabulky zaměstnanců a jméno vozidla z tabulky vozidel.
Výstup:
5. Zobrazte záznamy v pořadí pomocí SELECT
Můžeme také zobrazit konkrétní záznamy v OBJEDNÁVKU, které mohou být vzestupné nebo sestupné pomocí klauzule ORDER BY s dotazem. Budeme se dívat na vzestupné i sestupné dotazy.
A. Dotaz na vzestupné pořadí
SELECT * from employee ORDER BY name ASC;
V tomto dotazu zobrazujeme všechny záznamy a sada výsledků je seřazena podle názvu ve vzestupném pořadí.
Níže uvedený snímek obrazovky zobrazuje výstup, když je dotaz spuštěn v SQL Developer.
Výstup:
b. Dotaz na sestupné pořadí
SELECT * from employee ORDER BY name DESC;
V tomto dotazu zobrazujeme všechny záznamy z tabulky a sada výsledků je seřazena podle názvu v sestupném pořadí
Níže uvedený snímek obrazovky zobrazuje výstup, když je dotaz spuštěn v SQL Developer.
Výstup:
6. VYBRAT dotaz s klauzulí GROUP BY
Klauzuli GROUP BY používáme s příkazem SELECT, když chceme získat záznamy na základě skupin. V podstatě tedy seskupuje řádky, které mají stejné hodnoty. Používá se obecně ve spojení s agregačními funkcemi. Je užitečné při vytváření souhrnných zpráv.
Nyní se podíváme na příklad a uvidíme, jak můžeme použít GROUP BY s příkazem SELECT v databázi Oracle.
Dotaz:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME;
Ve výše uvedeném příkladu tedy v podstatě zjišťujeme počet zaměstnanců, kteří používají konkrétní značku automobilu. GROUP BY seskupuje záznamy podle typu automobilu a poté pomocí agregační funkce COUNT vypočítáme počet zaměstnanců v každé skupině pomocí sloupce employee_id, protože je to primární klíč tabulky.
Výstup:
7. ZVOLTE dotaz pomocí klauzule HAVING
Klauzule s se používá s příkazem select, kde chceme mít nějaké podmínky, jako když klíčové slovo nelze použít přímo s agregačními funkcemi. To je důvod, proč byla klauzule přidána v SQL. Uvidíme příklad, jak můžeme použít klauzuli s s příkazem select.
Dotaz:
SELECT COUNT(EMPLOYEE_ID), VEHICLE_NAME FROM employee GROUP BY VEHICLE_NAME HAVING COUNT(EMPLOYEE_ID)> 2;
Jak vidíme, přidali jsme klauzuli HAVING s GROUP BY, díky které jsme schopni uvést podmínku, že se budou zobrazovat pouze vozidla se zaměstnanci více než dvěma. Zde se stává užitečná klauzule HAVING.
Výstup:
Pokud uvidíme výstup, získáme pouze dva záznamy místo pěti, které jsme dostali, když jsme použili funkci GROUP BY.
Závěr
V tomto článku jsme se naučili syntaxi a důvod, proč používáme SELECT a také různé způsoby, jak můžeme napsat SELECT dotaz v SQL a také kde a z jakého důvodu bychom je měli používat.
Doporučené články
Toto je průvodce k výběru v aplikaci Oracle. Zde diskutujeme úvod a různé příklady vybraného dotazu v SQL se syntaxí. Další informace naleznete také v následujících článcích -
- Připojuje se k Oracle
- Oracle Data Warehousing
- Agilní Oracle
- Co je to databáze Oracle
- Top 6 příkladů dotazů vnitřního spojení v Oracle
- Největší rozdíl oproti primárnímu klíči oproti cizímu klíči