SQL DISTINCT sąlyga naudojama siekiant pašalinti pasikartojančias reikšmes iš užklausos rezultatų. Tai užtikrina, kad išvestis rodo tik unikalius nurodyto (-ių) stulpelio (-ių) įrašus.
Pavyzdys: Pirmiausia mes sukurti demonstracinė SQL duomenų bazė ir lentelė, kurioje naudosime komandą „Distinct Clause“.
Užklausa:
SELECT DISTINCT Department
FROM Employees;
Išvestis:
Sintaksė:
SELECT DISTINCT column1 column2
FROM table_name
- 1 stulpelis 2 stulpelis: Lentelės laukų pavadinimai.
- Lentelės_pavadinimas: Lentelė, iš kurios norime gauti įrašus.
Pastaba: Jei naudojamas keliuose stulpeliuose
DISTINCTpateikia unikalius tų stulpelių reikšmių derinius.
DISTINCT pavyzdžiai SQL
Sukurkime pavyzdinę lentelę ir užpildykime ją keliais pasikartojančiais įrašais. Pamatysime keletą raktinio žodžio DISTINCT naudojimo pavyzdžių su studentų lentelės pavyzdžiu.
1 pavyzdys: gaukite unikalius pavadinimus iš NAME lauko.
Užklausa pateikia tik unikalius pavadinimus, pašalindama pasikartojančius įrašus iš lentelės.
Užklausa:
SELECT DISTINCT NAME FROM students; Išvestis:
2 pavyzdys: unikalių kelių stulpelių derinių gavimas
Ši užklausa nuskaito skirtingus PAVADINIMO ir AMŽIAUS derinius – jei dvi eilutės turi tą patį pavadinimą ir amžių, tik viena iš jų bus rodoma rezultatų rinkinyje.
Užklausa:
SELECT DISTINCT NAME AGE FROM students;Išvestis:
3 pavyzdys: DISTINCT naudojimas su sąlyga ORDER BY
Mes galime sujungti DISTINCT raktinį žodį su UŽSAKYTI PAGAL sąlyga, skirta filtruoti unikalias reikšmes rūšiuojant rezultatų rinkinį. Ši užklausa nuskaito unikalius amžius iš mokinių lentelės ir surūšiuoja juos didėjančia tvarka.
Užklausa:
SELECT DISTINCT AGE FROM students ORDER BY AGE; Išvestis:
palyginti su java eilutėmis
4 pavyzdys: DISTINCT naudojimas su agregacinėmis funkcijomis (pvz., COUNT())
Čia mes patikrinsime COUNT () funkcija su DISTINCT sąlyga, kuri pateiks bendrą studentų skaičių naudojant COUNT() funkciją.
Užklausa:
SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;Išvestis:
5 pavyzdys: DISTINCT su NULL reikšmėmis
SQL raktinis žodis DISTINCT traktuoja NULL kaip unikalią vertę. NULL traktuojamas kaip atskira reikšmė, todėl ji bus rodoma tik vieną kartą, jei yra keli NULL.
Užklausa:
INSERT INTO students (ROLL_NO NAME ADDRESS PHONE AGE)
VALUES (13 'John Doe' '123 Unknown Street' '9876543216' NULL);
SELECT DISTINCT AGE FROM students;
Išvestis:
Sukurti viktoriną