Результат реализации запроса:

Наибольшее затруднение, как ни странно, вызывают функции по работе с датами, поэтому ниже мы приводим наиболее употребимые функции (см. Приложение 4. Функции обработки дат. и Приложение 5. Допустимые значения параметра частьДаты).
Пример 72
Задача.
Вывести год, в котором было принято на работу наибольшее число сотрудников.
Решение:
select year(DateHire)
from Teacher
group by year (DateHire)
having count(year (DateHire))=(select max(d.aCount)
from (select count (year (DateHire)) aCount
from Teacher
group by(year (DateHire))) d)
Результат реализации запроса:

Подзапрос на уровне предложения FROM
В ряде случаев нам надо сравнить результаты агрегирования строк. Выше был приведен пример коррелированного запроса, осуществляющего вывод имен студентов, которые имели оценки выше, чем средняя оценка по той группе, в которой они учатся (см. Пример 70). Применение подзапроса на уровне FROM позволяет значительно упростить реализацию этого запроса (см. Пример 73).
Пример 73
Задача.
Вывести имена студентов, чьи оценки выше, чем средняя оценка в их группе.
Решение:
SELECT S.StName,S.NRecordBook
FROM Progress P
INNER JOIN Student S
on P.NRecordBook=S.NRecordBook
INNER JOIN
(SELECT IDGroup,AVG(Mark) BMark