Összefoglaló: Ebben a bemutatóban megtanulja, hogyan használja az Oracle SELECT DISTINCT utasítást a táblákból származó megkülönböztetett adatok lekérdezésére.
Elvezetés az Oracle SELECT DISTINCT utasításhoz
A DISTINCT záradékot a SELECT utasításban a duplikált sorok szűrésére használják az eredményhalmazban. Biztosítja, hogy a visszaküldött sorok egyediek legyenek a SELECT záradékban megadott oszlop vagy oszlopok tekintetében.
Az alábbiakban a SELECT DISTINCT utasítás szintaxisát szemléltetjük:
Az utasításban a table column_1 értékeit hasonlítjuk össze a duplikátumok meghatározásához.
A több oszlopon alapuló egyedi adatok lekérdezéséhez csak az oszloplistát kell megadni a SELECT záradékban az alábbiak szerint:
Ebben a szintaxisban a column_1, column_2 és column_3 értékek kombinációját használjuk az adatok egyediségének meghatározásához.
A DISTINCT záradék csak a SELECT utasításban használható.
Megjegyezzük, hogy a DISTINCT a UNIQUE szinonimája, amely nem SQL-szabvány. Jó gyakorlat, hogy mindig a DISTINCT-t használjuk a UNIQUE helyett.
Oracle SELECT DISTINCT példák
Nézzünk néhány példát a SELECT DISTINCT használatára, hogy lássuk, hogyan működik.
A) Oracle SELECT DISTINCT egy oszlop példája
Nézzük a contacts táblát a mintaadatbázisban:

A következő példa az összes kapcsolattartó keresztnevét lekérdezi:
A lekérdezés 319 sort adott vissza, ami azt jelenti, hogy a contacts táblában 319 sor van.

Az egyedi kapcsolattartó keresztnevek kinyeréséhez a fenti SELECT utasításhoz a DISTINCT kulcsszót adja hozzá a következőképpen:
Az eredményhalmaz most 302 sort tartalmaz, ami azt jelenti, hogy 17 duplikált sort eltávolítottunk.

B) Oracle SELECT DISTINCT több oszlop példája
Nézzük meg a következő order_items táblát:

A következő utasítás a order_items táblából választja ki a különböző termék azonosítót és mennyiséget:
Az alábbiakban az eredményt szemléltetjük:

Ebben a példában a product_id és quantity oszlopok mindkét értéke felhasználásra kerül az eredményhalmaz sorainak egyediségének értékeléséhez.
C) Oracle SELECT DISTINCT és NULL
A DISTINCT a NULL értékeket egymás duplikátumaként kezeli. Ha a SELECT DISTINCT utasítással olyan oszlopból kérdez le adatokat, amely sok NULL értéket tartalmaz, az eredményhalmaz csak egy NULL értéket fog tartalmazni.
Lássuk a locations táblát a mintaadatbázisban.

A következő utasítás adatokat kér le az állapot oszlopból, amely sok NULL értékkel rendelkezik:
Eredmény:

Mint látható, csak egy NULL értéket kap vissza.
Megjegyezzük, hogy ha a DISTINCT-t néhány oszlopra szeretné alkalmazni, miközben más oszlopokat kihagy, akkor ehelyett a GROUP BY záradékot kell használnia.
Ezzel a bemutatóval megtanulta, hogyan használhatja a SELECT DISTINCT utasítást, hogy egyedi adatokat kapjon egy vagy több oszlop alapján.
- Hasznos volt ez a bemutató?
- IgenNem
Mi volt hasznos?
.