Oracle SELECT DISTINCT

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

  • IgenNem
  • .

    Vélemény, hozzászólás?

    Az e-mail-címet nem tesszük közzé.