Inleiding tot DISTINCT in Oracle
In dit artikel zullen we leren over DISTINCT in Oracle. Een van de belangrijke zoekwoorden die we gebruiken bij het ophalen van onze waarden uit een of meerdere tabellen in de database is een DISTINCT-trefwoord. Laten we nu naar een DISTINCT trefwoord komen. Wanneer we het Engelse woord distinct zeggen of horen, is het eerste dat in ons opkomt UNIEK of gescheiden van anderen. Hetzelfde geldt ook voor de database. Er kunnen honderden records in een tabel staan en van die records kunnen we dubbele records hebben. Dit trefwoord helpt ons om alleen unieke records op te halen.
Syntaxis
We zullen nu de syntaxis van het afzonderlijke trefwoord in Oracle onderzoeken. We hebben in dit geval twee opties voor syntaxis. De eerste syntaxis is om een duidelijk zoekwoord zonder voorwaarden te gebruiken en de tweede syntaxis is om een afzonderlijk zoekwoord met voorwaarden te gebruiken.
Syntaxis zonder voorwaarde: Select DISTINCT(expressions) from table_names;
Syntaxis met de voorwaarde: Select DISTINCT(expressions) from table_names (where conditions);
parameters
We zullen nu kijken naar de verschillende parameters die worden gebruikt in de twee bovenstaande syntaxis.
- expressies: we bieden de kolomnamen of expressies die we willen uitvoeren.
- table_names: we bieden de tabelnamen waarvan we de records willen. Belangrijke informatie om op te merken is dat er ten minste één tabelnaam achter de clausule moet staan.
- (Where-voorwaarden): het is optioneel Als we de Where-voorwaarde opgeven, halen we de waarden alleen op na het uitvoeren van de query als aan de genoemde voorwaarde is voldaan.
Opmerking: Een belangrijke informatie om in gedachten te houden is dat het sleutelwoord DISTINCT null-waarde ook als een unieke waarde beschouwt. Dus als we null-waarden in een kolom hebben en het sleutelwoord DISTINCT gebruiken om unieke waarden op te halen, wordt ook de NULL-waarde in de uitvoer weergegeven.
Hoe DISTINCT in Oracle te gebruiken?
Inmiddels hebben we besproken wat een DISTINCT-sleutelwoord in het orakel is, de syntaxis van het DISTINCT-sleutelwoord en de verschillende parameters die in de syntaxis worden gebruikt.
Nu zullen we verschillende voorbeelden bekijken om te leren hoe DISTINCT efficiënt te gebruiken in Oracle. Voordat we naar de voorbeelden gaan, gebruiken we de tabel WERKNEMER die al in de database is gemaakt. De tabel bestaat uit vijf kolommen die NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID en CITY zijn. Hieronder is het screenshot van de waarden aanwezig in de medewerkerstabel. De vraag die we hiervoor zullen gebruiken is de basis SELECT-instructie
SELECT * from employee;
Bij het uitvoeren in SQL-ontwikkelaar krijgen we alle waarden zoals hieronder weergegeven.
Output: Medewerkertabel
Laten we nu beginnen met de voorbeelden.
1. Unieke waarden in een kolom zonder voorwaarde
In dit voorbeeld gaan we DISTINCT gebruiken om de unieke waarden in een bepaalde kolom van een tabel te vinden zonder voorwaarden te stellen. Als voorbeeld gaan we de unieke waarden vinden die aanwezig zijn in de voertuigkolom van de medewerkerstabel. De zoekopdracht wordt hieronder weergegeven:
Code:
select DISTINCT(vehicle_name) from employee;
Output:
Zoals u kunt zien, hebben we in de bovenstaande zoekopdracht zowel de kolomnaam als de tabelnaam opgegeven. Bij het uitvoeren van de bovenstaande query in SQL-ontwikkelaar krijgen we de onderstaande uitvoer.
2. Unieke waarden in een kolom met voorwaarde
In dit voorbeeld gaan we unieke waarden in een kolom vinden, net als in het vorige voorbeeld, maar met een kleine wijziging. Hierin gaan we de unieke waarden extraheren op basis van een voorwaarde. Laten we als voorbeeld de unieke waarden van de kolomvoertuignaam uit de tabel met medewerkers halen wanneer de stad niet Kolkata is. De vraag voor hetzelfde wordt hieronder gegeven.
Code:
select DISTINCT(VEHICLE_NAME) from employee where CITY != 'KOLKATA';
Output:
Als u de bovenstaande query ziet, moet de query de waarden retourneren die voldoen aan de Where-voorwaarde. Bij het uitvoeren van de bovenstaande query in SQL-ontwikkelaar krijgen we de onderstaande uitvoer.
Zoals u in het vorige voorbeeld kunt zien, hadden we zes unieke waarden, terwijl we in het tweede voorbeeld vijf unieke waarden hadden, omdat we in het tweede voorbeeld een specifieke voorwaarde hadden toegevoegd.
3. Unieke waarden uit meerdere kolommen
In dit voorbeeld gaan we unieke waarden vinden op meerdere kolommen met behulp van DISTINCT. Dus eerdere voorbeelden hadden we enkele kolommen gebruikt, maar in dit geval gaan we meerdere kolommen gebruiken. Stel bijvoorbeeld dat we de unieke waarden van zowel de voertuignaam als de stad willen vinden en dat de resultaten in oplopende volgorde moeten zijn op basis van de kolomstad. Laten we de vraag hieronder voor dezelfde bekijken.
Code:
select DISTINCT VEHICLE_NAME, CITY from employee ORDER BY CITY ASC;
Output:
In de bovenstaande query worden de gegevens eerst in oplopende volgorde geëxtraheerd op basis van de kolomstad en vervolgens worden beide waarden in de kolom voertuignaam en stad gebruikt om de unieke paren te verkrijgen. Bij het uitvoeren van de bovenstaande query in SQL-ontwikkelaar krijgen we de onderstaande uitvoer.
4. ONDERSCHEIDEN met NULL-waarden
Eerder in het artikel hadden we besproken dat DISTINCT NULL-waarden als unieke waarden behandelt, dus als we een kolom met null-waarden bevatten. Het wordt behandeld als een unieke waarde. We hebben bijvoorbeeld null-waarden in de kolom CITY die u kunt zien in de screenshot aan het begin van het artikel waar alle waarden van de medewerkerstabel worden weergegeven. We zullen DISTINCT dus toepassen op de kolom CITY om de impact van null-waarden op het resultaat te achterhalen. De zoekopdracht hiervoor wordt hieronder weergegeven.
Code:
select DISTINCT CITY from employee;
Output:
Bij het uitvoeren van de bovenstaande query in SQL-ontwikkelaar krijgen we de onderstaande uitvoer.
Zoals we kunnen zien, toont de uitvoer null als een afzonderlijke waarde. Dit laat dus zien dat DISTINCT nul als een unieke waarde beschouwt.
Conclusie - DISTINCT in Oracle
In dit artikel hebben we het sleutelwoord DISTINCT in orakel besproken, de syntaxis die wordt gebruikt voor het gebruik van DISTINCT in query's, de parameters die in die syntaxis worden gebruikt en vervolgens kwamen we via verschillende voorbeelden te weten hoe we DISTINCT in orakel kunnen gebruiken om onze vereiste taken op te lossen.
Aanbevolen artikelen
Dit is een gids voor DISTINCT in Oracle. Hier bespreken we het sleutelwoord DISTINCT in Orakel, de syntaxis die worden gebruikt voor het gebruik van DISTINCT in codes en uitvoer. U kunt ook onze andere gerelateerde artikelen doornemen voor meer informatie -
- Sluit zich aan bij Oracle
- Wat is Oracle-database
- Oracle String-functies
- Oracle Warehouse Builder