Базы данных. Основы SQL реляционных баз данных. Копейкин М.В - 126 стр.

UptoLike

WHERE SUNGULAR
(SELECT Ид_Сотр, Год_ рожд From Сотрудник p2
WHERE p1. Год_ рожд = p2. Год_ рожд);
вернет список сотрудников, которые не имеют ни одного сверстника (год рождения
которых совпадает только с собственным годом рождения и больше не повторяется в
таблице).
Рассмотрим пример. Выдать состав сотрудников (Фамилии, Имена), входящих в
отдел с номером 1. (Ответ представлен на рис. 5.22).
SELECT Фамилия, Имя
FROM Сотрудник
WHERE EXISTS
( SELECT *
FROM Отдел_ Сотрудники
WHERE Ид_Сотр = Сотрудник.Ид_Сотр
AND Ид_Отд = 1 AND Дата_ увольнения NOT NULL);
Система последовательно выбирает строки таблицы СОТРУДНИК (рис. 2.1),
выделяет из них значения столбцов Фамилия и Ид_Сотр, а затем проверяет, является ли
истинным условие существования, т.е. существует ли в таблице ОТДЕЛ_СОТРУДНИК
(рис. 2.3)
хотя бы одна строка со значением Ид_Отд=1 и значением Ид_Сотр, равным
значению Ид_Сотр, выбранному из таблицы СОТРУДНИК. Если условие выполняется,
то полученное значение столбца Фамилия включается в результат.
Первая фамилия значения поля Фамилия таблицы СОТРУДНИК равна "Иванов", и
Ид_Сотр равен 1. Так как в таблице ОТДЕЛ_СОТРУДНИК есть
строка с Ид_Отд=1 и
Ид_Отд=1, то значение "Иванов" должно быть включено в результат (рис. 5.22).
Фамилия Имя
Иванов Иван
Петров Иван
Сидоров Петр
Панов Антон
Петухов Виктор
Иванова Вера
Петрова Нина
Рис. 5.22.Сотрудники отдела номер 1