Дублированными являются такие строки в результирующей таблице, в которых идентичен каждый столбец.
Иногда (в зависимости от задачи) бывает необходимо устранить все повторы строк из результирующего набора. Этой цели служит модификатор 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 |
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.