Samenvatting: in deze tutorial leert u hoe u het Oracle SELECT DISTINCT
statement kunt gebruiken om afzonderlijke gegevens uit tabellen op te vragen.
Inleiding tot het Oracle SELECT DISTINCT statement
De DISTINCT
-clausule wordt in een SELECT
statement gebruikt om dubbele rijen in de resultatenset te filteren. Het zorgt ervoor dat de teruggegeven rijen uniek zijn voor de kolom of kolommen die in de SELECT
-clausule zijn gespecificeerd.
Het volgende illustreert de syntaxis van de SELECT DISTINCT
-instructie:
In deze verklaring worden de waarden in de column_1
van de table
vergeleken om de duplicaten te bepalen.
Om unieke gegevens op basis van meerdere kolommen op te halen, hoeft u alleen de kolomlijst in de SELECT
-clausule als volgt op te geven:
In deze syntaxis wordt de combinatie van waarden in de column_1
, column_2
, en column_3
gebruikt om de uniciteit van de gegevens te bepalen.
De DISTINCT
-clausule kan alleen worden gebruikt in het SELECT
-instructie.
Merk op dat DISTINCT
een synoniem is van UNIQUE
, wat geen SQL-standaard is. Het is een goede gewoonte om altijd DISTINCT
te gebruiken in plaats van UNIQUE
.
Oracle SELECT DISTINCT voorbeelden
Laten we eens kijken naar een aantal voorbeelden van het gebruik van SELECT DISTINCT
om te zien hoe het werkt.
A) Oracle SELECT DISTINCT één kolom voorbeeld
Zie de contacts
tabel in de voorbeelddatabase:
Het volgende voorbeeld haalt alle voornamen van contactpersonen op:
De query geeft 319 rijen terug, wat aangeeft dat de contacts
tabel 319 rijen heeft.
Om unieke voornamen van contactpersonen te krijgen, voegt u het trefwoord DISTINCT
als volgt toe aan het bovenstaande SELECT
statement:
Nu heeft de resultatenverzameling 302 rijen, wat betekent dat 17 dubbele rijen zijn verwijderd.
B) Oracle SELECT DISTINCT multiple columns example
Zie de volgende order_items
tabel:
Het volgende statement selecteert verschillende product id en hoeveelheid uit de order_items
tabel:
Het volgende illustreert het resultaat:
In dit voorbeeld worden beide waarden van de kolommen product_id
en quantity
gebruikt voor de evaluatie van de uniciteit van de rijen in de resultatenreeks.
C) Oracle SELECT DISTINCT en NULL
De DISTINCT
behandelt NULL waarden als duplicaten van elkaar. Als u het SELECT DISTINCT
-statement gebruikt om gegevens op te vragen uit een kolom die veel NULL-waarden heeft, zal de resultaatverzameling slechts één NULL-waarde bevatten.
Zie de locations
-tabel in de voorbeelddatabase.
Het volgende commando haalt gegevens op uit de kolom State, die veel NULL-waarden heeft:
Resultaat:
Zoals u kunt zien, wordt slechts één NULL-waarde geretourneerd.
Merkt u op dat als u DISTINCT
op sommige kolommen wilt toepassen en andere kolommen wilt overslaan, u in plaats daarvan de GROUP BY
-clausule moet gebruiken.
In deze zelfstudiegids hebt u geleerd hoe u het SELECT DISTINCT
-instructie kunt gebruiken om unieke gegevens op basis van een of meer kolommen te verkrijgen.
- Was deze zelfstudie nuttig?
- JaNee