Ö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?
.