Hoe SQL SELECT DISTINCT te gebruiken
SQL SELECT DISTINCT zorgt ervoor dat alleen unieke records en rijen worden opgenomen in de resultaten van een gegevensquery. Het verwijdert duplicaten uit de betreffende records en rijen, waardoor een duidelijkere en nauwkeurigere gegevensanalyse mogelijk wordt.
Wat is SQL SELECT DISTINCT?
SQL SELECT DISTINCT is een verwerkingsoperator die wordt gebruikt met het SQL SELECT-commando. In query’s selecteert SELECT een of meer kolommen en records. In combinatie met de DISTINCT operator zorgt het ervoor dat uw queryresultaten alleen unieke rijen bevatten en verwijdert het dubbele rijen en waarden. U kunt SELECT DISTINCT combineren met andere SQL-operators en SQL-commando’s om uw query’s aan te passen aan uw individuele behoeften.
Wat is het verschil tussen SQL SELECT DISTINCT en SELECT UNIQUE?
‘Unique’ en ‘distinct’ hebben een vergelijkbare betekenis als woorden, maar de SQL-operatoren UNIQUE en DISTINCT hebben verschillende doeleinden. Om SQL SELECT DISTINCT correct te gebruiken, moet u weten hoe deze verschilt van UNIQUE.
| SQL SELECT DISTINCT | SQL SELECT UNIQUE |
|---|---|
| Controleert datasets op dubbele rijen en waarden; verwijdert overtollige gegevens en geeft alleen unieke resultaten weer | Geschikt voor het voorkomen van dubbele invoer in geselecteerde tabellen en kolommen met behulp van kolombeperkingen |
| Wordt voornamelijk gebruikt voor het evalueren, analyseren en vergelijken van datasets om duidelijke, zinvolle resultaten te verkrijgen | Wordt gebruikt bij het maken en bewerken van tabellen om een betere gegevensintegriteit zonder redundantie te garanderen |
Op zoek naar een snelle opfrissing van SQL? Onze SQL-introductie met voorbeelden presenteert de belangrijkste functies.
Wat is de syntaxis van SQL SELECT DISTINCT?
De basissyntaxis voor SQL SELECT DISTINCT ziet er als volgt uit:
SELECT DISTINCT ColumnA, ColumnB, …
FROM tablesqlHet gebruikt de volgende parameters:
SELECT DISTINCT: Hier geeft u aan op welke kolommen u hetSELECT-commando en deDISTINCT-operator wilt toepassen.FROM: Geef hier aan welke tabel deze kolommen bevat.WHERE: In een optionele WHERE-clausule kunt u aanvullende voorwaarden toevoegen om uw query te verfijnen.
Waarvoor wordt SQL SELECT DISTINCT gebruikt?
Er zijn talloze toepassingen voor SQL SELECT DISTINCT. Hier volgen enkele voorbeelden:
- Verminder klant-, bestel-, patiënt- of productgegevens die in meerdere rijen voorkomen tot één unieke vermelding
- Tel en toon het aantal aankopen op basis van bestellingen en product-ID’s
- Haal unieke patiënt- of klantgegevens op
- Geef alle verzendadressen of leveranciers in een regio weer
Voorbeelden van SQL SELECT DISTINCT
We zullen nu 2 voorbeelden bekijken met behulp van SELECT DISTINCT.
Alle klanten ophalen
Stel dat u alle unieke klanten uit een tabel met de naam ‘Orders’ wilt ophalen. U wilt geen dubbele rijen als een klant meerdere bestellingen heeft geplaatst. De syntaxis daarvoor ziet er als volgt uit:
SELECT DISTINCT Customer_name
FROM OrderssqlKlanten uit een bepaalde regio filteren
U kunt een WHERE -clausule gebruiken om aanvullende voorwaarden toe te voegen aan uw evaluatie van klantgegevens. Stel dat u de namen van alle klanten in het Verenigd Koninkrijk wilt ophalen uit een tabel met de naam ‘Orders’. Dat zou er als volgt uitzien:
SELECT DISTINCT Customer_name, Country
FROM Orders
WHERE Country = 'UK'sqlZijn er alternatieven voor SQL SELECT DISTINCT?
SELECT DISTINCT is een praktische manier om duplicaten uit uw query’s te verwijderen, maar het is niet altijd de beste oplossing. Bij toepassing op grote datasets verbruikt het veel resources om elke afzonderlijke kolom te vergelijken. In dat geval kunt u deze alternatieven met vergelijkbare functies bekijken:
GROUP BY: SQL GROUP BY- clausules groeperen records uit de door u opgegeven kolommen. U kunt ze nauwkeuriger maken met behulp van aanvullende functies en operatoren.EXISTS: SQL EXISTS controleert of waarden en records aanwezig zijn in een andere tabel.COUNT: CombineerDISTINCTmet SQL COUNT om de unieke waarden in een kolom te tellen.SELECT+FROM+WHERE: U kunt uw resultaten beter verfijnen met een subquery (een query die in een andere query is genest). Kies in de subquery de kolom metSELECT, geef metFROMaan in welke tabel u werkt en stel vervolgens metWHEREde voorwaarden in waaraan de resultaten moeten voldoen.