Az SQL DISTINCT záradék az ismétlődő értékek eltávolítására szolgál a lekérdezés eredményeiből. Biztosítja, hogy a kimenet csak egyedi rekordokat jelenítsen meg a megadott oszlop(ok)hoz.
Példa: Először mi fogunk teremt egy demo SQL adatbázis és tábla, amelyen a Distinct Clause parancsot fogjuk használni.
ymail
Lekérdezés:
SELECT DISTINCT Department
FROM Employees;
Kimenet:
Szintaxis:
SELECT DISTINCT column1 column2
FROM table_name
- oszlop1 oszlop2: A táblázat mezőinek nevei.
- Table_name: Táblázat, ahonnan a rekordokat szeretnénk lekérni.
Jegyzet: Ha több oszlopon használják
DISTINCTegyedi értékkombinációkat ad vissza ezekben az oszlopokban.
Példák a DISTINCT-re az SQL-ben
Hozzunk létre egy mintatáblázatot, és töltsük fel néhány ismétlődő bejegyzéssel. Néhány példát fogunk látni a DISTINCT kulcsszó használatára egy tanulói mintatáblázattal.
1. példa: Egyedi nevek lekérése a NÉV mezőből.
A lekérdezés csak egyedi neveket ad vissza, és eltávolítja az ismétlődő bejegyzéseket a táblából.
Lekérdezés:
SELECT DISTINCT NAME FROM students; Kimenet:
2. példa: Több oszlop egyedi kombinációinak lekérése
Ez a lekérdezés a NÉV és a KOR különböző kombinációit kéri le – ha két sor azonos nevű és korú, csak az egyik jelenik meg az eredményhalmazban.
Lekérdezés:
SELECT DISTINCT NAME AGE FROM students;Kimenet:
aláhúzás a lejegyzésben
3. példa: A DISTINCT használata az ORDER BY záradékkal
A DISTINCT kulcsszót kombinálhatjuk a MEGRENDELÉS záradék az egyedi értékek szűrésére az eredményhalmaz rendezése közben. Ez a lekérdezés lekéri az egyedi életkorokat a tanulói táblázatból, és növekvő sorrendbe rendezi őket.
Lekérdezés:
SELECT DISTINCT AGE FROM students ORDER BY AGE; Kimenet:
4. példa: DISTINCT használata aggregált függvényekkel (pl. COUNT())
Itt ellenőrizzük a COUNT() függvény egy DISTINCT záradékkal, amely megadja a tanulók teljes számát a COUNT() függvény használatával.
Lekérdezés:
SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;Kimenet:
5. példa: DISTINCT NULL értékekkel
Az SQL-ben a DISTINCT kulcsszó a NULL-t egyedi értékként kezeli. A NULL-t külön értékként kezeli, így csak egyszer jelenik meg, ha több NULL van.
Lekérdezés:
Linux átnevezési mappa
INSERT INTO students (ROLL_NO NAME ADDRESS PHONE AGE)
VALUES (13 'John Doe' '123 Unknown Street' '9876543216' NULL);
SELECT DISTINCT AGE FROM students;
Kimenet:
Kvíz létrehozása