Acest tutorial SQL se concentrează pe cuvântul cheie SQL DISTINCT în Oracle și oferă explicații, exemple și exerciții. Pentru exercițiile din această lecție, utilizați acest link.

Acest tutorial face parte din mai multe postări care explică cum să scrie interogări de bază în Oracle. Pentru a citi postări suplimentare referitoare la acest subiect, vă rugăm să utilizați următoarele link-uri:

  • Scrierea instrucțiunilor SQL SELECT de bază
  • Operatori aritmetici SQL
  • Asociații de coloane SQL
  • Concatenarea șirurilor SQL
  • SQL Cuvântul cheie DISTINCT

Cuvântul cheie Oracle DISTINCT

Afișarea implicită a interogărilor Oracle este de toate rândurile, inclusiv a celor duplicate. Cuvântul cheie Oracle DISTINCT din clauza SELECT este utilizat pentru a elimina rândurile duplicate și pentru a afișa o listă unică de valori.

De exemplu: să presupunem că avem un tabel Customers, care conține o listă de clienți din diferite orașe: 40 de clienți din Londra, 30 din Liverpool și 30 din Manchester. Vi s-a cerut să afișați lista orașelor în care locuiesc acești clienți:

SELECT cityFROM customers

Această instrucțiune Oracle nu este foarte utilă, deoarece recuperează 100 de rânduri (Londra revine de 40 de ori, Liverpool revine de 30 de ori și Manchester revine de 30 de ori), în timp ce intenția noastră era să afișăm doar 3 rânduri.

Pentru a rezolva această problemă și a prelua numai valori unice, utilizați cuvântul cheie Oracle DISTINCT:

SELECT DISTINCT column_nameFROM table_name SELECT DISTINCT cityFROM customers

Rezultatul:

CITY------LondonLiverpoolManchester

Nota : Cuvântul cheie Oracle DISTINCT trebuie inclus imediat după cuvântul cheie Oracle SELECT.

Declarația Oracle DISTINCT pe mai multe coloane

După cuvântul cheie Oracle DISTINCT, este posibil să se specifice mai multe coloane. Calificativul Oracle DISTINCT afectează toate coloanele selectate, astfel, rezultatul va afișa combinația unică de valori din diferitele coloane. De exemplu, o listă de clienți din orașe și țări diferite:

.

.

.

Customer Name City Country
John Smith Liverpool Anglia
Sophia Williams Londra Anglia
Emma Miller Liverpool Anglia
Olivia Wilson Paris Franța
Logan Davis Paris Franța

Vezi că sunt doi clienți din Liverpool…Anglia, doi clienți din Paris-Franța și un alt client din Londra-Anglia.

Executarea instrucțiunii Oracle DISTINCT pe coloana Country are ca rezultat obținerea a 2 rânduri (Anglia,Paris).

SELECT DISTINCT countryFROM customers

Executarea instrucțiunii Oracle DISTINCT pe coloana City are ca rezultat obținerea a 3 rânduri (Liverpool, Londra, Paris).

SELECT DISTINCT city FROM customers

Dacă executați instrucțiunea Oracle DISTINCT pe ambele coloane City și Country:

SELECT DISTINCT city , countryFROM customers

Se recuperează 3 rezultate – Liverpool Anglia, Londra Anglia, Paris Franța.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.