Запросы на выборку данных
Выбрать название и код материала только тех деталей, которые когда-либо поставлялись. Выбрать материалы, для которых суммарный вес выполненных из них деталей не больше 20. Из поставок, совершенных до 1.10.2009, выбрать самую крупную поставку и самую мелкую. Для каждого поставщика получить сведения о самой первой (по дате) его поставке. Охарактеризуйте внутреннее соединение таблиц. Какой опцией… Читать ещё >
Запросы на выборку данных (реферат, курсовая, диплом, контрольная)
Общий синтаксис запроса SELECT
SELECT [DISTINCT].
FROM.
[WHERE ].
[GROUP BY ].
[HAVING ].
[ORDER BY ].
Разделы SELECT и FROM обязательно должны присутствовать в каждом запросе; остальные разделы могут отсутствовать или присутствовать частично.
Примеры реализации запросов
Наиболее простые запросы:
1. Выбрать название и вес деталей.
Рис. 5.1. Результаты выполнения запроса № 1
2. Выбрать всю информацию из таблицы материалов.
Рис. 5.2. Результаты выполнения запроса № 2
Уникальность DISTINCT.
3. Выбрать уникальные коды поставщиков из таблицы поставок.
Рис. 5.3. Результаты выполнения запроса № 3
Ограничение WHERE.
4. Выбрать количество и даты поставки детали с кодом 1.
Рис. 5.4. Результаты выполнения запроса № 4
5. Выбрать названия поставщиков с кодами 1, 4 и 6.
или.
6. Выбрать всю информацию о поставках, сделанных до 1.10.2009.
Рис. 5.6. Результаты выполнения запроса № 6
7. Выбрать всю информацию о деталях, не начинающихся на букву «В» (в любом регистре) и чей вес меньше 50.
Рис. 5.7. Результаты выполнения запроса № 7
8. Выбрать название и код материала для деталей с весом от 5 до 10 г или имеющих в названии букву «н» в третьей позиции.
Рис. 5.8. Результаты выполнения запроса № 8
9. Выбрать названия поставщиков длиной не больше 15-и символов.
Рис. 5.9. Результаты выполнения запроса № 9
10. Выбрать месяца и годы поставок деталей.
Рис. 5.10. Результаты выполнения запроса № 10
Сортировка ORDER BY.
11. Упорядочить поставки сначала по коду поставщика, а затем по дате поставки.
Рис. 5.11. Результаты выполнения запроса № 11
12. Выбрать названия поставщиков с кодами 4, 6, 8, 9, упорядоченных по алфавиту в обратном порядке.
Рис. 5.12. Результаты выполнения запроса № 12
Агрегация и группировка GROUP BY.
13. Посчитать количество деталей, для которых задан вес.
или.
Рис. 5.13. Результаты выполнения запроса № 13
14. Определить средний вес деталей из материала с кодом 2.
Рис. 5.14. Результаты выполнения запроса № 2
15. Из поставок, совершенных до 1.10.2009, выбрать самую крупную поставку и самую мелкую.
Рис. 5.15. Результаты выполнения запроса № 15
16. Для поставщиков с кодами в диапазоне 5 — 8 посчитать суммарное количество поставленных ими деталей.
Рис. 5.16. Результаты выполнения запроса № 16
17. Посчитать количество поставленных деталей в каждом месяце каждого года; результаты упорядочить в порядке убывания года и месяца.
Рис. 5.17. Результаты выполнения запроса № 17
Ограничение на группировки HAVING.
18. Выбрать материалы, для которых суммарный вес выполненных из них деталей не больше 20.
Рис. 5.18. Результаты выполнения запроса № 18
19. Выбрать детали, поставлявшиеся более одного раза с начала 2008 года.
Рис. 5.19. Результаты выполнения запроса № 19
Преобразование типов CAST.
20. Получить сведения о датах поставок в текстовом виде.
Рис. 5.20. Результаты выполнения запроса № 20
21. Получить сведения из таблицы деталей в виде строк «Деталь X имеет вес Y».
Рис. 5.21. Результаты выполнения запроса № 21
Альтернативы CASE.
22. Разделить детали на легкие (весом до 20), средние (между 20 и 50) и тяжелые.
Рис. 5.22. Результаты выполнения запроса № 22
Обработка NULL-значений.
23. Получить сведения о деталях и их весах, причем если у детали вес не задан, то вместо NULL написать -100.
Рис. 5.23. Результаты выполнения запроса № 23
Функция существования EXISTS.
24. Выбрать название и код материала только тех деталей, которые когда-либо поставлялись.
Рис. 5.24. Результаты выполнения запроса № 24
25. Выбрать названия тех материалов, из которых не изготовлена ни одна деталь.
Рис. 5.25. Результаты выполнения запроса № 25
Подзапросы.
26. Получить сведения о самой последней (по дате) поставке.
Рис. 5.26. Результаты выполнения запроса № 26
27. Получить все поставки деталей из материала с кодом 2.
Рис. 5.27. Результаты выполнения запроса № 27
28. Для каждого поставщика получить сведения о самой первой (по дате) его поставке.
Рис. 5.28. Результаты выполнения запроса № 28
29. Для каждого поставщика получить его имя и дату последнего заказа.
Рис. 5.29. Результаты выполнения запроса № 29
Объединение таблиц JOIN.
30. Получить таблицу вида: название детали, название материала, из которого выполнена эта деталь.
или или.
Рис. 5.30. Результаты выполнения запроса № 30
31. Получить таблицу вида: поставщик, название детали, количество и дата поставки для деталей, у которых задан вес.
Рис. 5.31. Результаты выполнения запроса № 31
32. Выбрать всю информацию о тех деталях, которые когда-либо поставлялись.
Рис. 5.32. Результаты выполнения запроса № 32
33. Для каждого поставщика посчитать суммарную величину его поставок.
Рис. 5.33. Результаты выполнения запроса № 33
34. Выбрать названия материалов и сделанных из них деталей.
Рис. 5.34. Результаты выполнения запроса № 34
35. Получить все данные о поставщиках, поставках и деталях.
Рис. 5.35. Результаты выполнения запроса № 35
Объединение результатов UNION
36. Получить таблицу названий и весов деталей, причем последняя строка таблицы должна содержать итоги в виде суммарного веса всех деталей.
Рис. 5.36. Результаты выполнения запроса № 36
37. Получить таблицу из двух полей, где первое поле — название детали, материала, поставщика или дата поставки, а второе поле — длина строки из первого поля.
Рис. 5.37. Результаты выполнения запроса № 37
Задание: создайте 10 запросов на выборку данных для своей базы, в отчет поместите их описание, код и результат вызова в форме копии экрана.
Контрольные вопросы.
- 1. Что является результатом выполнения команды SELECT?
- 2. Какие опции команды SELECT являются обязательными?
- 3. Каково предназначение опции DISTINCT?
- 4. В какой форме задается выражение в опции WHERE?
- 5. Что такое декартово произведение отношений? Какую роль оно играет в процессе навигации по реляционной базе данных?
- 6. Какую опцию используют при подведении промежуточных итогов посредством агрегативных функций?
- 7. Когда используется опция HAVING?
- 8. Для сортировки результатов выборки по убыванию какую опцию следует использовать в запросе?
- 9. Когда удобно использовать опцию CASE в запросе?
- 10. Для формирования пользовательских имен полей в результирующем отношении какую опцию следует использовать?
- 11. В какой последовательности выполняются вложенные запросы?
- 12. Охарактеризуйте внутреннее соединение таблиц. Какой опцией оно реализуется?