Предложение ORDER BY позволяет выполнить сортировку результатов запроса, оно всегда ставится в конец команды SELECT. По умолчанию сортировка идет по возрастанию. Для изменения порядка сортировки используются опции ASC – возрастание или DESC – убывание. При сортировке по нескольким столбцам столбцы перечисляются через запятую.
Пример 67
Задача.
Вывести список имен студентов по возрастанию.
Решение.
SELECT StName ФИО
FROM Student
ORDER BY StName;
Результат реализации запроса:
Пример 68
Задача.
Вывести список имен и оценок студентов, расположив по возрастанию имена студентов, а также расположив для каждого студента его оценки по возрастанию.
Решение.
SELECT DISTINCT StName ФИО, Mark Оценка
FROM Student, Progress
WHERE Student.NRecordBook= Progress.NRecordBook
ORDER BY StName, Mark;
Результат реализации запроса:
Задание 17
Вывести имена и номера зачеток всех студентов, у которых нет ни одной оценки 3.
Задание 18
Вывести имена всех преподавателей, которые ведут дисциплину Базы данных.
Задание 19
Вывести все дисциплины, по которым сдается экзамен. Название дисциплин расположить в порядке возрастания.
Задание 20
Вывести имена преподавателей и название дисциплин, которые они ведут, если по этим дисциплинам выставлена хоть одна оценка.
Задание 21
Вывести имена преподавателей которые преподают как в 5 так и в 6 семестрах.
Вопросы для самоконтроля к лабораторной работе № 4
1. Какие предложения в команде SELECT являются обязательными?
2. Какое из предложений используется для исключения групп строк из результата запроса?
3. C помощью какого предложения создаются группы?
4. В каком порядке в команде SELECT должны располагаться предложения ORDER BY, GROUP BY, WHERE?
5. В чем заключается различие между предложениями WHERE и HAVING?
6. Всегда ли запрос, построенный с использованием предложений HAVING может быть преобразован в эквивалентный запрос без использования этого предложения?
7. Какие предложения позволяют ограничить количество выводимых строк?
8. В чем отличие простого запроса от сложного?
9. С помощью каких ключевых слов в команде SELECT осуществляется проверка вхождения результата вычисления выражения в заданное множество?
10. Какая функция используется для подсчета кортежей, отвечающих заданному условию?
11. Какой вид будет иметь команда SELECT, реализующая операцию проекции на атрибуты AB в отношении со схемой R={ABCD}?
12. Какое из предложений команды SELECT накладывает ограничение на отбор групп?
13. Как следует сформировать запрос к таблице R1={AB} и R2={CD}, чтобы получить их декартово произведение?
14. Возможно ли используя команду SELECT реализовать операцию деления?
15. В каких случаях нельзя для осуществления операции выбора использовать предложение WHERE?