Предикат уникальности
Функция
Определение условия отсутствия дубликатов в результате запроса.
Спецификация
< предикат уникальности >
::=[NOT] UNIQUE запрос сравнения
Общие правила
-
Предикат возвращает значение
TRUEв том и только в том случае, когда в таблице-результате< запроса выборки >отсутствуют какие-либо две записи, одна из которых является дубликатом другой. В противном случае значение предиката –FALSE.SELECT count(*) FROM Auto WHERE NOT UNIQUE (values('RED'),('GREEN')); | 0|SELECT count(*) FROM Auto WHERE NOT UNIQUE (values('RED'),('RED')); | 1000|
Пример
Найти номера отделов, в которых есть однофамильцы:
select distinct "Номер отдела"
from "Структура организации"
where not unique (select "Фамилия"
from "Штатное расписание"
where "Штатное расписание"."Номер отдела"="Структура организации"."Номер отдела");