logo

Клауза SQL Distinct

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

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

служители' title=

Запитване:



SELECT DISTINCT Department  
FROM Employees;

Изход:

различен' loading='lazy' title=

Синтаксис:

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

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

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

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

студентска_маса' loading='lazy' title=

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

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

Запитване:

SELECT DISTINCT NAME FROM students; 

Изход:

Запитване-1' loading='lazy' title=

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

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

Запитване:

SELECT DISTINCT NAME AGE FROM students;

Изход:

запитване-2' loading='lazy' title=

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

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

Запитване:

SELECT DISTINCT AGE FROM students ORDER BY AGE; 

Изход:

описание по възраст' loading='lazy' title=

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

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

Запитване:

SELECT COUNT(DISTINCT ROLL_NO) FROM Students ;

Изход:

различен' loading='lazy' title=

Пример 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г' loading='lazy' title= Създаване на тест