Odlišná klauzule SQL

Odlišná klauzule SQL

Klauzule SQL DISTINCT se používá k odstranění duplicitních hodnot z výsledků dotazu. Zajišťuje, že výstup zobrazuje pouze jedinečné záznamy pro zadaný sloupec (sloupce).

Příklad: Nejprve budeme vytvořit ukázkovou SQL databázi a tabulku, na které použijeme příkaz Distinct Clause.

Zaměstnanci

Dotaz:

 SELECT DISTINCT Department   
FROM Employees;

výstup:

odlišný

Syntax:

 SELECT DISTINCT column1 column2    
FROM table_name
  • sloupec1 sloupec2: Názvy polí tabulky.
  • Table_name: Tabulka, odkud chceme načíst záznamy.

Poznámka: Při použití na více sloupcích DISTINCT vrátí jedinečné kombinace hodnot v těchto sloupcích.

Příklady DISTINCT v SQL

Vytvoříme vzorovou tabulku a naplníme ji několika duplicitními položkami. Uvidíme několik příkladů použití klíčového slova DISTINCT s ukázkovou tabulkou studentů.

students_table

Příklad 1: Načtení jedinečných jmen z pole NAME.

Dotaz vrací pouze jedinečné názvy, čímž se z tabulky vyloučí duplicitní položky.

Dotaz:

 SELECT DISTINCT NAME FROM students;   

výstup:

Dotaz-1

Příklad 2: Načítání jedinečných kombinací více sloupců

Tento dotaz načte odlišné kombinace JMÉNO a VĚK — pokud mají dva řádky stejný název a věk, ve výsledkové sadě se objeví pouze jeden z nich.

Dotaz:

 SELECT DISTINCT NAME AGE FROM students;  

výstup:

dotaz-2

Příklad 3: Použití DISTINCT s klauzulí ORDER BY

Můžeme kombinovat klíčové slovo DISTINCT s OBJEDNAT PODLE klauzule pro filtrování jedinečných hodnot při řazení sady výsledků. Tento dotaz načte jedinečný věk z tabulky studentů a seřadí je vzestupně.

Dotaz:

 SELECT DISTINCT AGE FROM students ORDER BY AGE;   

výstup:

popis podle věku

Příklad 4: Použití DISTINCT s agregačními funkcemi (např. COUNT())

Zde zkontrolujeme POČÍTAT() funkce s klauzulí DISTINCT, která udává celkový počet studentů pomocí funkce COUNT().

Dotaz:

 SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;  

výstup:

odlišný

Příklad 5: DISTINCT s hodnotami NULL

V SQL klíčové slovo DISTINCT považuje hodnotu NULL za jedinečnou hodnotu. Hodnota NULL je považována za odlišnou hodnotu, takže se zobrazí pouze jednou, pokud existuje více hodnot NULL.

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:

věk-24 Vytvořit kvíz