Odlišná klauzula SQL

Odlišná klauzula SQL

Klauzula SQL DISTINCT sa používa na odstránenie duplicitných hodnôt z výsledkov dotazu. Zabezpečuje, že výstup zobrazuje iba jedinečné záznamy pre zadaný stĺpec (stĺpce).

Príklad: Najprv budeme vytvoriť demo SQL databázu a tabuľku, na ktorú použijeme príkaz Distinct Clause.

zamestnancov

dotaz:

 SELECT DISTINCT Department   
FROM Employees;

výstup:

zreteľný

Syntax:

 SELECT DISTINCT column1 column2    
FROM table_name
  • stĺpec1 stĺpec2: Názvy polí tabuľky.
  • Table_name: Tabuľka, odkiaľ chceme načítať záznamy.

Poznámka: Ak sa použije na viacerých stĺpcoch DISTINCT vráti jedinečné kombinácie hodnôt v týchto stĺpcoch.

Príklady DISTINCT v SQL

Vytvorme vzorovú tabuľku a vyplňte ju niekoľkými duplicitnými položkami. Ukážeme si niekoľko príkladov použitia kľúčového slova DISTINCT so vzorovou tabuľkou študentov.

študenti_tabuľka

Príklad 1: Získajte jedinečné názvy z poľa NAME.

Dotaz vráti iba jedinečné názvy, čím sa odstránia duplicitné položky z tabuľky.

dotaz:

 SELECT DISTINCT NAME FROM students;   

výstup:

Dotaz-1

Príklad 2: Získavanie jedinečných kombinácií viacerých stĺpcov

Tento dotaz načítava odlišné kombinácie MENO a VEK – ak majú dva riadky rovnaký názov a vek, v množine výsledkov sa zobrazí iba jeden z nich.

dotaz:

 SELECT DISTINCT NAME AGE FROM students;  

výstup:

dotaz-2

Príklad 3: Použitie DISTINCT s klauzulou ORDER BY

Kľúčové slovo DISTINCT môžeme skombinovať s kľúčovým slovom OBJEDNAŤ PODĽA klauzulu na filtrovanie jedinečných hodnôt pri triedení sady výsledkov. Tento dotaz načíta jedinečný vek z tabuľky študentov a zoradí ich vo vzostupnom poradí.

dotaz:

 SELECT DISTINCT AGE FROM students ORDER BY AGE;   

výstup:

popis podľa veku

Príklad 4: Použitie DISTINCT s agregačnými funkciami (napr. COUNT())

Tu skontrolujeme COUNT() funkcia s klauzulou DISTINCT, ktorá dá celkový počet študentov pomocou funkcie COUNT().

dotaz:

 SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;  

výstup:

zreteľný

Príklad 5: DISTINCT s hodnotami NULL

V SQL kľúčové slovo DISTINCT považuje NULL za jedinečnú hodnotu. Hodnota NULL sa považuje za odlišnú hodnotu, takže ak existuje viacero hodnôt NULL, zobrazí sa iba raz.

dotaz:

 INSERT INTO students (ROLL_NO NAME ADDRESS PHONE AGE)   
VALUES (13 'John Doe' '123 Unknown Street' '9876543216' NULL);

SELECT DISTINCT AGE FROM students;

výstup:

vek - 24 Vytvoriť kvíz