Предикат BETWEEN работает с любыми типами данных, которые можно сравнивать, и встречается в запросах достаточно часть. Предикат BETWEEN эквивалентен двум операторам сравнения, которые используют для проверки вхождения какого-либо значения в заданный диапазон, при этом в определение включены конечные точки.
Пример 51
Задача.
Сформировать запрос для вывода имен преподавателей, оценивших хоть один раз работу студента оценкой 4 или 5.
Решение.
SELECT DISTINCT TName ФИО
FROM Teacher INNER JOIN Progress
ON Teacher.PIN=Progress.PIN
WHERE MARK BETWEEN 2 AND 4;
Результат реализации запроса:
Наиболее часто встречающимся заблуждением является то, что предикат BETWEEN работает только с числами, на самом деле предикат работает с любыми типами данных, которые можно сравнивать.
Пример 52
Задача.
Сформировать запрос для вывода имен преподавателей, попадающих в указанный интервал.
Решение.
SELECT TName
FROM Teacher
WHERE TName BETWEEN 'Волкова' AND 'Николаева ';
Результат реализации запроса:
Для сравнения:
SELECT TName
FROM Teacher
WHERE TName BETWEEN 'Волкова' AND 'Николаева Н.А.';
|
|
Результат реализации запроса:
Пример 53
Задача.
Сформировать запрос для вывода имен всех преподавателей, которые были приняты на работу в период с 1.12.1970 по 31.12.1995г.
Решение.
SELECT TName ФИО
FROM Teacher
WHERE DataHire BETWEEN '12.01.1970' AND '12.31.1995';
Результат реализации запроса:
Обратите внимание, что в запросе атрибут DateHire имеет следующий формат ‘ММ.ЧЧ.ГГГГ’.
Задание 23
Сформировать запрос для вывода списка студентов, получивших паспорта в период с 20.11.2002 по 26.11.2002 года.
Задание 24
Сформировать запрос для вывода списка дисциплин, по которым сдается экзамен студентами специальности ИСТ в период с 3 по 5 семестр.
Задание 25
Сформировать запрос для вывода списка студентов, получивших паспорта в период отличный от 20.11.2002 по 26.11.2002 года.