Речення 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; Вихід:
Приклад 2: Отримання унікальних комбінацій кількох стовпців
Цей запит отримує різні комбінації NAME та AGE — якщо два рядки мають однакову назву та вік, у наборі результатів з’явиться лише одна з них.
Запит:
SELECT DISTINCT NAME AGE FROM students;Вихід:
Приклад 3: використання DISTINCT із пропозицією ORDER BY
Ми можемо поєднати ключове слово DISTINCT із ЗАМОВИТИ ЗА речення для фільтрації унікальних значень під час сортування набору результатів. Цей запит отримує унікальний вік із таблиці учнів і сортує їх у порядку зростання.
Запит:
SELECT DISTINCT AGE FROM students ORDER BY AGE; Вихід:
Приклад 4: використання DISTINCT із агрегатними функціями (наприклад, COUNT())
Тут ми перевіримо 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;
Вихід:
Створіть вікторину