Клауза SQL Distinct

Клауза SQL Distinct

Клаузата SQL DISTINCT се използва за премахване на дублирани стойности от резултатите от заявката. Той гарантира, че изходът показва само уникални записи за определените колони.

Пример: Първо ще го направим създавам демонстрационна SQL база данни и таблица, върху която ще използваме командата Distinct Clause.

служители

Запитване:

 SELECT DISTINCT Department   
FROM Employees;

Изход:

различен

Синтаксис:

 SELECT DISTINCT column1 column2    
FROM table_name
  • колона1 колона2: Имена на полетата на таблицата.
  • Table_name: Таблица, от която искаме да извлечем записите.

Забележка: Ако се използва в няколко колони DISTINCT връща уникални комбинации от стойности в тези колони.

Примери за DISTINCT в SQL

Нека създадем примерна таблица и да я попълним с някои дублиращи се записи. Ще видим някои примери за използване на ключовата дума DISTINCT с примерна таблица студенти.

студентска_маса

Пример 1: Извличане на уникални имена от полето NAME.

Заявката връща само уникални имена, елиминирайки дублиращите се записи от таблицата.

Запитване:

 SELECT DISTINCT NAME FROM students;   

Изход:

Запитване-1

Пример 2: Извличане на уникални комбинации от множество колони

Тази заявка извлича различни комбинации от ИМЕ и ВЪЗРАСТ — ако два реда имат едно и също име и възраст, само единият от тях ще се появи в резултатния набор.

Запитване:

 SELECT DISTINCT NAME AGE FROM students;  

Изход:

запитване-2

Пример 3: Използване на DISTINCT с клаузата ORDER BY

Можем да комбинираме ключовата дума DISTINCT с ПОРЪЧАЙТЕ ПО клауза за филтриране на уникални стойности, докато сортирате набора от резултати. Тази заявка извлича уникалните възрасти от таблицата на учениците и ги сортира във възходящ ред.

Запитване:

 SELECT DISTINCT AGE FROM students ORDER BY AGE;   

Изход:

описание по възраст

Пример 4: Използване на DISTINCT с агрегатни функции (напр. COUNT())

Тук ще проверим БРОЙ() функция с клауза DISTINCT, която ще даде общия брой студенти с помощта на функцията COUNT().

Запитване:

 SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;  

Изход:

различен

Пример 5: DISTINCT с NULL стойности

В SQL ключовата дума DISTINCT третира NULL като уникална стойност. NULL се третира като отделна стойност, така че ще се появи само веднъж, ако има няколко NULL.

Запитване:

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

SELECT DISTINCT AGE FROM students;

Изход:

възраст-24г Създаване на тест