Introduktion till DISTINCT i Oracle

I den här artikeln kommer vi att lära oss om DISTINCT i Oracle. Ett av de viktiga nyckelorden som vi använder när vi hämtar våra värden från en eller flera tabeller i databasen är ett DISTINCT-nyckelord. Låt oss nu komma till ett DISTINCT-nyckelord. När vi säger eller hör det engelska ordet distinkt är det första som kommer till vårt sinne UNIKT eller separat från andra. Detsamma gäller även för databasen. Det kan finnas hundratals poster i en tabell och av dessa poster kan vi ha duplicerade poster. Detta sökord hjälper oss att hämta endast unika poster.

Syntax

Vi kommer nu att undersöka syntaxen för det distinkta nyckelordet i Oracle. Vi har två alternativ i det här fallet för syntax. Den första syntaxen är att använda distinkta sökord utan villkor och den andra syntaxen är att använda distinkta nyckelord med villkor.

Syntax utan villkor: Select DISTINCT(expressions) from table_names;

Syntax med villkoret: Select DISTINCT(expressions) from table_names (where conditions);

parametrar

Vi kommer nu att titta på de olika parametrarna som används i de två syntaxerna ovan.

  • uttryck: vi ger kolumnnamn eller uttryck som vi vill köra.
  • tabellnamn: Vi tillhandahåller tabellnamn från vilka vi vill ha posten. Viktig information att notera här är att det bör finnas minst ett tabellnamn efter klausulen.
  • (Var villkor): Det är valfritt Om vi ​​tillhandahåller var villkoret än vi kommer att hämta värdena efter exekvering av frågan bara om villkoret som nämnts är uppfyllt

Obs: En viktig information att tänka på är att nyckelordet DISTINCT betraktar nollvärde också som ett unikt värde. Så, om vi har nollvärden i en kolumn och använder DISTINCT-nyckelordet för att hämta unika värden, kommer det också att visa NULL-värdet i utgången.

Hur använder man DISTINCT i Oracle?

Nu har vi diskuterat vad som är ett DISTINCT-nyckelord i oracle, syntaxen för DISTINCT-nyckelordet och de olika parametrarna som används i syntaxen.

Nu kommer vi att undersöka olika exempel för att lära dig hur du effektivt använder DISTINCT i Oracle. Innan vi går in i exemplen kommer vi att använda tabellen MEDARBETARE som redan skapats i databasen. Tabellen består av fem kolumner som är NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID och CITY. Nedan visas skärmdumpen av värdena som finns i medarbetartabellen. Frågan vi kommer att använda för detta är det grundläggande SELECT-uttalandet

SELECT * from employee;

När vi kör i SQL-utvecklare får vi alla värden som visas nedan.

Output: Medarbetartabell

Låt oss nu börja med exemplen.

1. Unika värden i en kolumn utan villkor

I det här exemplet kommer vi att använda DISTINCT för att hitta de unika värdena i en viss kolumn i en tabell utan att ha några villkor. Som ett exempel kommer vi att hitta de unika värden som finns i fordonskolumnen i medarbetartabellen. Frågan visas nedan:

Koda:

select DISTINCT(vehicle_name) from employee;

Produktion:

I ovanstående fråga, som du kan se, har vi angett kolumnnamnet och tabellnamnet. När vi utför ovanstående fråga i SQL-utvecklare får vi nedanproduktionen.

2. Unika värden i en kolumn med skick

I det här exemplet kommer vi att hitta unika värden i en kolumn precis som i föregående exempel men med en liten modifiering. I detta kommer vi att extrahera de unika värdena baserat på något tillstånd. Låt oss som ett exempel få de unika värdena på kolumnfordonets namn från anställdstabellen när staden inte är Kolkata. Frågan för samma anges nedan.

Koda:

select DISTINCT(VEHICLE_NAME) from employee where CITY != 'KOLKATA';

Produktion:

Om du ser ovanstående fråga bör frågan returnera de värden som uppfyller var villkoret. När vi utför ovanstående fråga i SQL-utvecklare får vi nedanproduktionen.

Som du kan se i det föregående exemplet hade vi sex unika värden medan vi i det andra exemplet har fem unika värden eftersom vi hade lagt till ett specifikt villkor i det andra exemplet.

3. Unika värden från flera kolumner

I det här exemplet kommer vi att hitta unika värden på flera kolumner med hjälp av DISTINCT. Så tidigare exempel hade vi använt enstaka kolumner men i det här fallet kommer vi att använda flera kolumner. Anta till exempel att vi vill hitta de unika värdena för både fordonsnamn och stad och resultaten bör vara i stigande ordning baserat på kolumnstaden. Låt oss titta på frågan efter samma nedan.

Koda:

select DISTINCT VEHICLE_NAME, CITY from employee ORDER BY CITY ASC;

Produktion:

I ovanstående fråga extraheras först data i stigande ordning baserat på kolumnstad och sedan används båda värdena i kolumnens fordonsnamn och stad för att få de unika paren. När vi utför ovanstående fråga i SQL-utvecklare får vi nedanproduktionen.

4. DISTINCT med NULL-värden

Tidigare i artikeln hade vi diskuterat att DISTINCT behandlar NULL-värden som unika värden, så om vi har en kolumn med nollvärden i den. Det kommer att behandlas som ett unikt värde. Vi har till exempel nollvärden i kolumnen CITY som du kan se i skärmdumpen som tillhandahålls i början av artikeln där alla värden i medarbetartabellen visas. Så vi kommer att tillämpa DISTINCT på kolumnen CITY för att ta reda på effekten av nollvärden på resultatet. Frågan för samma visas nedan.

Koda:

select DISTINCT CITY from employee;

Produktion:

När vi utför ovanstående fråga i SQL-utvecklare får vi nedanproduktionen.

Som vi kan se utgången visar null som ett distinkt värde. Så detta visar att DISTINCT behandlar noll som ett unikt värde.

Slutsats - DISTINCT i Oracle

I den här artikeln diskuterade vi DISTINCT-nyckelordet i oracle, syntaxerna som används för att använda DISTINCT i frågor, parametrarna som används i dessa syntaxer och sedan genom olika exempel lärde vi oss hur vi kan använda DISTINCT i oracle för att lösa våra nödvändiga uppgifter.

Rekommenderade artiklar

Detta är en guide till DISTINCT i Oracle. Här diskuterar vi DISTINCT nyckelord i oracle, syntaxerna som används för att använda DISTINCT i koder och utdata. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer -

  1. Går med i Oracle
  2. Vad är Oracle-databasen
  3. Oracle strängfunktioner
  4. Oracle Warehouse Builder