Oracle SELECT DISTINCT

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

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.