Главная » Информационные системы » Управление данными » 32. ВЫБОР УНИКАЛЬНЫХ ЗАПИСЕЙ В ЯЗЫКЕ SQL

32. ВЫБОР УНИКАЛЬНЫХ ЗАПИСЕЙ В ЯЗЫКЕ SQL

Устранение дублирования (модификатор DISTINCT)

Дублированными являются такие строки в результирующей таблице, в которых идентичен каждый столбец.

Иногда (в зависимости от задачи) бывает необходимо устранить все повторы строк из результирующего набора. Этой цели служит модификатор DISTINCT. Данный модификатор может быть указан только один раз в списке выбираемых элементов и действует на весь список.

SELECT job_code
FROM employee

получить список должностей сотрудников

JOB_CODE
========
VP
Eng
Eng
Mktg
Mngr
SRep
Admin
Finan
Mngr
Mngr
Eng
...

Данный пример некорректно решает задачу получения списка должностей сотрудников предприятия, так как в нем имеются многочисленные повторы, затрудняющие восприятие информации. Тот же запрос, включающий модификатор DISTINCT, устраняющий дублирование, дает верный результат.

SELECT DISTINCT job_code
FROM employee

получить список должностей сотрудников

JOB_CODE
========
Admin
CEO
CFO
Dir
Doc
Eng
Finan
Mktg
Mngr
PRel
SRep
Sales
VP

Два следующих примера показывают, что модификатор DISTINCT действует на всю строку сразу.

SELECT first_name, last_name
FROM employee
WHERE first_name = Roger

получить список служащих, имена которых - Roger

FIRST_NAME LAST_NAME
Roger De Souza
Roger Reeves

 border=0 cellpadding=3 cellspacing=0>
SELECT DISTINCT first_name, last_name
FROM employee
WHERE first_name = Roger

получить список служащих, имена которых - Roger

FIRST_NAME LAST_NAME
Roger De Souza
Roger Reeves


Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.

Поделиться

Дисциплины