Úvod do DISTINCT v Oracle

Klíčové slovo DISTINCT v databázi Oracle odděluje nebo filtruje duplicitní řádky v množině výsledků vrácené příkazem SELECT (result). sada obsahuje sloupec/sloupce přítomné v příkazu SELECT) tak, aby sloupec nebo sloupce vrácené dotazem obsahovaly všechny hodnoty nebo záznamy, které nejsou duplicitní a jsou navzájem jedinečné, protože klíčové slovo DISTINCT porovnává jednotlivé hodnoty sloupce/sloupců přítomných v sadě výsledků vrácené dotazem mezi sebou.

Syntaxe

Začněte svůj bezplatný kurz datové vědy

Hadoop, datová věda, statistika & ostatní

Podíváme se nyní na syntaxi klíčového slova distinct v systému Oracle. V tomto případě máme dvě možnosti syntaxe. První syntaxí je použití klíčového slova distinct bez podmínek a druhou syntaxí je použití klíčového slova distinct s podmínkami.

Syntax bez podmínek: Select DISTINCT(expressions) from table_names;

Syntaxe s podmínkou:Select DISTINCT(expressions) from table_names ;

Parametry

Nyní se podíváme na jednotlivé parametry používané v obou výše uvedených syntaxích.

  • výrazy: zadáme názvy sloupců nebo výrazy, které chceme provést.
  • názvy_tabulky: Uvádíme názvy tabulek, ze kterých chceme získat záznamy. Důležitou informací, kterou je třeba si zde uvědomit, je, že za klauzulí by měl být alespoň jeden název tabulky.
  • : Je nepovinné Pokud uvedeme podmínku where, pak po provedení dotazu získáme hodnoty pouze v případě, že je splněna podmínka, která byla uvedena.

Poznámka: Důležitou informací, kterou je třeba si uvědomit, je, že klíčové slovo DISTINCT považuje nulovou hodnotu také za jedinečnou hodnotu. Takže v případě, že máme ve sloupci nulové hodnoty a používáme klíčové slovo DISTINCT k získání jedinečných hodnot, pak se ve výstupu zobrazí také hodnota NULL.

Jak používat DISTINCT v Oracle?

Již jsme probrali, co je to klíčové slovo DISTINCT v Oracle, syntaxi klíčového slova DISTINCT a různé parametry používané v syntaxi.

Nyní se podíváme na různé příklady, abychom se naučili, jak efektivně používat DISTINCT v Oracle. Než přejdeme k příkladům, použijeme již vytvořenou tabulku EMPLOYEE v databázi. Tabulka se skládá z pěti sloupců, kterými jsou NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID a CITY. Níže je uveden snímek obrazovky s hodnotami obsaženými v tabulce zaměstnanců. Dotaz, který k tomu použijeme, je základní příkaz SELECT

SELECT * from employee;

Po provedení v programu SQL developer získáme všechny hodnoty, jak je uvedeno níže.

Výstup:

Nyní začneme s příklady.

1. Jedinečné hodnoty ve sloupci bez podmínky

V tomto příkladu použijeme DISTINCT k nalezení jedinečných hodnot v určitém sloupci tabulky, aniž bychom měli nějaké podmínky. Jako příklad uvedeme vyhledání jedinečných hodnot přítomných ve sloupci vozidla v tabulce zaměstnanců. Dotaz je uveden níže:

Kód:

select DISTINCT(vehicle_name) from employee;

Výstup:

Ve výše uvedeném dotazu, jak vidíte, jsme uvedli název sloupce i název tabulky. Po provedení výše uvedeného dotazu ve vývojovém prostředí SQL dostaneme následující výstup:

2. Unikátní hodnoty ve sloupci s podmínkou

V tomto příkladu budeme hledat unikátní hodnoty ve sloupci stejně jako v předchozím příkladu, ale s malou úpravou. V tomto případě budeme vybírat jedinečné hodnoty na základě určité podmínky. Jako příklad získáme jedinečné hodnoty sloupce název vozidla z tabulky zaměstnanců, když město není Kalkata. Dotaz pro totéž je uveden níže.

Kód:

select DISTINCT(VEHICLE_NAME) from employee where CITY != 'KOLKATA';

Výstup:

Podle výše uvedeného dotazu by měl dotaz vrátit hodnoty, které splňují podmínku where. Po provedení výše uvedeného dotazu ve vývojovém prostředí SQL dostaneme následující výstup:

Jak vidíte, v předchozím příkladu jsme měli šest jedinečných hodnot, zatímco v druhém příkladu máme pět jedinečných hodnot, protože jsme v druhém příkladu přidali specifickou podmínku.

3. Jedinečné hodnoty z více sloupců

V tomto příkladu budeme hledat jedinečné hodnoty na více sloupcích pomocí funkce DISTINCT. V předchozích příkladech jsme tedy použili jednotlivé sloupce, ale v tomto případě použijeme více sloupců. Předpokládejme například, že chceme najít jedinečné hodnoty názvu vozidla i města a výsledky by měly být seřazeny vzestupně podle sloupce město. Podívejme se na dotaz pro totéž níže.

Kód:

select DISTINCT VEHICLE_NAME,CITY from employee ORDER BY CITY ASC;

Výstup:

Ve výše uvedeném dotazu jsou nejprve data extrahována ve vzestupném pořadí na základě sloupce město a poté jsou použity obě hodnoty ve sloupcích název vozidla a město pro získání jedinečných párů. Při provedení výše uvedeného dotazu ve vývojovém prostředí SQL dostaneme následující výstup.

4. DISTINCT s hodnotami NULL

Dříve jsme v článku probírali, že DISTINCT považuje hodnoty NULL za jedinečné hodnoty, takže pokud máme sloupec s nulovými hodnotami v něm. Bude se s ním zacházet jako s jedinečnou hodnotou. Například ve sloupci CITY máme nulové hodnoty, což můžete vidět na snímku obrazovky uvedeném na začátku článku, kde jsou zobrazeny všechny hodnoty tabulky zaměstnanců. Aplikujeme tedy DISTINCT na sloupec CITY, abychom zjistili vliv nulových hodnot na výsledek. Dotaz pro totéž je uveden níže.

Kód:

select DISTINCT CITY from employee;

Výstup:

Po provedení výše uvedeného dotazu ve vývojovém prostředí SQL dostaneme níže uvedený výstup.

Jak vidíme, výstup ukazuje null jako distinct hodnotu. To tedy ukazuje, že DISTINCT zachází s nulou jako s jedinečnou hodnotou.

Závěr – DISTINCT v Oracle

V tomto článku jsme probrali klíčové slovo DISTINCT v Oracle, syntaxe používané pro použití DISTINCT v dotazech, parametry používané v těchto syntaxích a poté jsme se prostřednictvím různých příkladů dozvěděli, jak můžeme DISTINCT v Oracle použít k řešení našich požadovaných úloh.

Doporučené články

Toto je průvodce funkcí DISTINCT v systému Oracle. Probíráme zde klíčové slovo DISTINCT v oracle, syntaxe používané pro použití DISTINCT v kódech a výstupech. Můžete si také projít naše další související články a dozvědět se více –

  1. Joins v Oracle
  2. Co je databáze Oracle
  3. Řetězcové funkce Oracle
  4. Oracle Warehouse Builder
  5. Průvodce nejvyššími verzemi Oracle
  6. ORDER BY v MySQL | Jak funguje?
  7. Průvodce tímto klíčovým slovem v jazyce C#
1 Akcie

admin

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

lg