Vyberte v aplikaci Oracle - Různé způsoby, jak napsat výběrový dotaz v SQL

Obsah:

Anonim

Ú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 -

  1. Připojuje se k Oracle
  2. Oracle Data Warehousing
  3. Agilní Oracle
  4. Co je to databáze Oracle
  5. Top 6 příkladů dotazů vnitřního spojení v Oracle
  6. Největší rozdíl oproti primárnímu klíči oproti cizímu klíči