logo

Hogyan használjuk a megkülönböztetőt SQL-ben?

SQL KÜLÖNBÖZŐ záradékot használunk az ismétlődő oszlopok eltávolítására az eredménykészletből.

A különálló kulcsszó a kiválasztott kulcsszóval együtt használatos. Ez akkor hasznos, ha elkerüljük a megadott értékekben jelen lévő ismétlődő értékeket oszlopok/táblázatok . A egyedi értékek lekérésre kerülnek, amikor a különálló kulcsszót használjuk.

  • A SELECT DISTINCT csak különálló ( különböző ) értékeket.
  • A DISTINCT kiküszöböli az ismétlődő rekordokat a táblából.
  • A DISTINCT aggregátumokkal használható: COUNT, AVG, MAX stb.
  • A DISTINCT egyetlen oszlopon működik.
  • Több oszlop nem támogatott a DISTINCT esetén.

Szintaxis:

 SELECT DISTINCT expressions FROM tables [WHERE conditions]; 

Paraméterek:

Kifejezések: A lekérni kívánt oszlopokat vagy számításokat kifejezésnek nevezzük.

Táblázatok: A táblák, amelyekről le akarjuk kérni a rekordokat. A FROM záradékban csak egy táblázat található.

WHERE feltételek: A feltételek a kiválasztott rekordok esetében megfelelhetnek, és ez nem kötelező.

Jegyzet:

  • Ha egy kifejezés szerepel a KÜLÖNBÖZŐ záradékot, akkor a lekérdezés a kifejezések egyedi értékeit adja vissza.
  • A lekérdezés lekéri a felsorolt ​​kifejezések egyedi kombinációit, ha egynél több kifejezés van megadva KÜLÖNBÖZŐ záradék itt.
  • Az SQL-ben a KÜLÖNBÖZŐ záradék nem hagyhatja figyelmen kívül a NULL értékeket. Tehát amikor az SQL utasításban a DISTINCT záradékot használjuk, az eredménykészletünkben a NULL különálló érték lesz.

Példa:

Tekintsük a következő ALKALMAZOTTAK asztal.

konvertálása dupla java-ba
A megkülönböztető használata SQL-ben

Először is nézzük meg, hogy a következő SELECT lekérdezés az ismétlődő fizetési rekordokat adja vissza.

 SQL> SELECT SALARY FROM EMPLOYEES ORDER BY SALARY; 

Amikor végrehajtjuk a fenti SQL-lekérdezést, az összes rekordot lekéri, beleértve a duplikált rekordokat is. A fenti táblázatban Newton és Johnson fizetése 20 000.

A megkülönböztető használata SQL-ben

Most pedig használjuk a KÜLÖNBÖZŐ kulcsszót a fenti SELECT lekérdezéssel.

mysql felhasználói lista
 SQL> SELECT DISTINCT SALARY FROM EMPLOYEES ORDER BY SALARY; 

A fenti SQL-lekérdezés eltávolítja az ismétlődő rekordokat, és a következő eredményt jeleníti meg.

A megkülönböztető használata SQL-ben

Példa: Egyedi értékek keresése az oszlopban

Tekintse meg a DISTINCT záradékot, hogy megtalálja az egyedi értékeket a táblázat egy oszlopában.

Van egy asztalunk szállítók a következő adatokkal:

A megkülönböztető használata SQL-ben

A fenti táblázatból megkeressük az egyedi állapotokat.

 SELECT DISTINCT state FROM suppliers ORDER BY state; 

Ezek hat a rekordokat.

A megkülönböztető használata SQL-ben

A példa az egyedit adja vissza állapot tól től beszállítói táblázat és eltávolítja az eredményhalmaz ismétlődő rekordjait.

Példa: Egyedi értékek keresése több oszlopban

A SQL DISTINCT A záradékot a SELECT utasítás számos mezőjéből távolítja el a duplikált rekordok.

Írd be a SQL utasítás :

 SELECT DISTINCT city, state FROM suppliers ORDER BY city, state; 

Kimenet:

Ez 8 rekord:

A megkülönböztető használata SQL-ben

A példa mindegyik egyedit ad vissza város és állam kombináció. Látjuk a Redwood City és Kalifornia , megjelenik az eredménykészletben.

Példa: DISTINCT záradék NULL értékeket kezel

A DISTINCT záradék úgy véli NULLA az egyedi értékre SQL . Van egy asztalunk Termékek amely az alábbi adatokat tartalmazza.

válasszon többtáblás sql-t
A megkülönböztető használata SQL-ben

Válassza ki az egyedi értékeket a gyümölcs_id mezőből, amely a null értéket tartalmazza. Írja be az alábbiakat SQL szintaxis:

 SELECT DISTINCT fruit_id FROM fruits ORDER BY category_id; 

Négy rekord van kiválasztva. Ezek az eredmények, amelyeket alább látunk:

A megkülönböztető használata SQL-ben

A fenti példában a lekérdezés azokat az egyedi értékeket adja vissza, amelyek a kategória_azonosítója oszlop. Az eredményhalmaz első sorában látjuk, NULLA egy kivételes érték, amelyet a KÜLÖNBÖZŐ kikötés.