Deze SQL-tutorial gaat over het SQL DISTINCT keyword in Oracle, en geeft uitleg, voorbeelden en oefeningen. Gebruik deze link voor de oefeningen van deze les.

Deze zelfstudie is een onderdeel van een aantal berichten waarin wordt uitgelegd hoe u basisquery’s in Oracle kunt schrijven. Om aanvullende berichten over dit onderwerp te lezen, kunt u de volgende links gebruiken:

  • Basis SQL SELECT statements schrijven
  • SQL rekenkundige operatoren
  • SQL kolomaliassen
  • SQL string aaneenschakeling
  • SQL DISTINCT sleutelwoord

Het Oracle DISTINCT sleutelwoord

De standaard weergave van Oracle queries is alle rijen, inclusief duplicaat rijen. Het Oracle DISTINCT sleutelwoord in de SELECT clause wordt gebruikt om dubbele rijen te elimineren en een unieke lijst van waarden weer te geven.

Voorbeeld: stel we hebben een klantentabel, die een lijst van klanten uit verschillende steden bevat: 40 klanten uit Londen, 30 uit Liverpool en 30 uit Manchester. U werd gevraagd om de lijst met steden weer te geven waar deze klanten wonen:

SELECT cityFROM customers

Deze Oracle-instructie is niet erg nuttig, omdat er 100 rijen worden opgehaald (Londen komt 40 keer terug, Liverpool komt 30 keer terug en Manchester komt 30 keer terug), terwijl het onze bedoeling was om slechts 3 regels weer te geven.

Om dit probleem op te lossen en alleen unieke waarden op te halen, gebruikt u het Oracle DISTINCT-sleutelwoord:

SELECT DISTINCT column_nameFROM table_name SELECT DISTINCT cityFROM customers

Het resultaat:

CITY------LondonLiverpoolManchester

Note : Het Oracle DISTINCT-sleutelwoord moet onmiddellijk na het Oracle SELECT-sleutelwoord worden ingevoegd.

Oracle DISTINCT Statement on Multiple Columns

Na het Oracle DISTINCT keyword is het mogelijk om meer dan één kolom op te geven. De Oracle DISTINCT qualifier heeft invloed op alle geselecteerde kolommen, waarbij het resultaat de unieke combinatie van waarden uit de verschillende kolommen zal weergeven. Bijvoorbeeld, een lijst van klanten uit verschillende steden en landen:

Customer Name City Country
John Smith Liverpool England
Sophia Williams Londen England
Emma Miller Liverpool England
Olivia Wilson Parijs Frankrijk
Logan Davis Paris Frankrijk

U kunt zien dat er twee klanten uit Liverpool-Engeland, twee klanten uit Parijs-Frankrijk, en nog een klant uit Londen-Engeland.

Uitvoeren van het Oracle DISTINCT statement op de kolom Land levert 2 rijen op (Engeland,Parijs).

SELECT DISTINCT countryFROM customers

Uitvoeren van het Oracle DISTINCT statement op de kolom Stad levert 3 rijen op (Liverpool, Londen, Parijs).

SELECT DISTINCT city FROM customers

Als u de Oracle DISTINCT-instructie uitvoert op zowel de kolom Stad als de kolom Land:

SELECT DISTINCT city , countryFROM customers

Drie resultaten worden opgehaald – Liverpool Engeland, Londen Engeland, Parijs Frankrijk.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.