Читайте также:
|
|
1. а) Какие страны производят всю номенклатуру изделий.
б) Какие производители производят всю номенклатуру изделий.
2. Сколько типов изделий производит… (производитель – параметр).
3. Сколько единиц товаров в среднем в заказе.
4. Кто заказал:
а) товаров на самую большую сумму;
б) только мойки.
5. В какой день было больше всего куплено:
а) в штуках всех товаров;
б) моек.
6. Товары каких производителей не покупают.
7. Мойки каких стран покупают чаще остальных.
8. Какой заказ сделан на самое большое количество единиц.
9. Перекрестный запрос.
10. Запрос на обновление.
11. Запрос на создание таблицы.
12. Запрос на добавление.
13. Запрос на удаление
Формы:
1) Главная форма: клиент, общая сумма за все заказы.
Подчиненная форма: заказы клиента, сумма за заказ.
2) Главная форма: товар, колиство в штуках заказанных.
Подчиненная форма: заказы, в которые входит товар, количество единиц в заказе.
1. а) Какие страны производят всю номенклатуру изделий.
Рис. 3. Предзапрос 1а-1
SELECT Назначение.Назначение, Страны.Страна FROM Страны INNER JOIN (Назначение INNER JOIN (Производители INNER JOIN Товары ON Производители.[Идентификатор производителя]=Товары.Производитель) ON Назначение.Код=Товары.Назначение) ON Страны.[Идентификатор страны]=Производители.Страна GROUP BY Назначение.Назначение, Страны.Страна;
Рис. 4. Результат выполнения предзапроса 1а-1.
Рис. 5. Предзапрос 1а-2.
SELECT [1а-1].Страна, Count(Назначение.Назначение) AS [Count-Назначение] FROM [1а-1] INNER JOIN Назначение ON [1а-1].Назначение = Назначение.Назначение GROUP BY [1а-1].Страна;
Рис. 6. Результат выполнения предзапроса 1а-2.
Рис. 7. Предзапрос 1а-3.
SELECT Max([1а-2].[Count-Назначение]) AS [Max-Count-Назначение]
FROM [1а-2];
Рис. 8. Результат выполнения предзапроса 1а-3.
Рис. 9. Запрос «Какие страны производят всю номенклатуру изделий».
SELECT [1а-2].Страна, [1а-3].[Max-Count-Назначение] FROM [1а-3] INNER JOIN [1а-2] ON [1а-3].[Max-Count-Назначение] = [1а-2].[Count-Назначение];
Рис. 10. Результат выполнения запроса «Какие страны производят всю номенклатуру изделий».
1. б) Какие производители производят всю номенклатуру изделий.
Рис. 11. Подзапрос 1б-1
SELECT Производители.[Фирма производитель], Назначение.Назначение
FROM (Страны INNER JOIN Производители ON Страны.[Идентификатор страны]=Производители.Страна) INNER JOIN (Назначение INNER JOIN Товары ON Назначение.Код=Товары.Назначение) ON Производители.[Идентификатор производителя]=Товары.Производитель
GROUP BY Производители.[Фирма производитель], Назначение.Назначение;
Рис. 12. Результат выполнения предзапроса 1б-1.
Рис. 13. Предзапрос 1б-2.
SELECT [1б-1].[Фирма производитель], Count(Назначение.Назначение) AS [Count-Назначение]
FROM [1б-1] INNER JOIN Назначение ON [1б-1].Назначение=Назначение.Назначение
GROUP BY [1б-1].[Фирма производитель];
Рис. 14. Результат выполнения предзапроса 1б-2.
Рис. 15. Предзапрос 1б-3.
SELECT Max([1б-2].[Count-Назначение]) AS [Max-Count-Назначение]
FROM [1б-2];
Рис. 16. Результат выполнения предзапроса 1б-3.
Рис. 17. Запрос «Какие производители производят всю номенклатуру изделий».
SELECT [1б-2].[Фирма производитель], [1б-3].[Max-Count-Назначение]
FROM [1б-3] INNER JOIN [1б-2] ON [1б-3].[Max-Count-Назначение] = [1б-2].[Count-Назначение];
Рис. 18. Результат выполнения запроса «Какие производители производят всю номенклатуру изделий».
2. Сколько типов изделий производит… (производитель – параметр).
Рис. 19. Предзапрос 2-1.
SELECT Производители.[Фирма производитель], Назначение.Назначение
FROM Назначение INNER JOIN (Производители INNER JOIN Товары ON Производители.[Идентификатор производителя] = Товары.Производитель) ON Назначение.Код = Товары.Назначение
GROUP BY Производители.[Фирма производитель], Назначение.Назначение;
Рис. 20. Результат выполнения предзапроса 2-1.
Рис. 21. Запрос «Сколько типов изделий производит… (производитель – параметр)».
SELECT [2-1].[Фирма производитель], Count([2-1].Назначение) AS [Count-Назначение]
FROM [2-1]
GROUP BY [2-1].[Фирма производитель]
HAVING ((([2-1].[Фирма производитель])=[Производитель]));
Рис. 22. Диалог «Производитель» запроса «Сколько типов изделий производит… (производитель – параметр)».
Рис. 23. Результат выполнения запроса «Сколько типов изделий производит… (производитель – параметр)».
3. Сколько единиц товаров в среднем в заказе.
Рис. 24. Предзапрос 3-1.
SELECT Заказ.Клиент, Sum(Заказ.Количество) AS [Sum-Количество]
FROM [Заявка на заказ] INNER JOIN Заказ ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент
GROUP BY Заказ.Клиент;
Рис. 25. Результат выполнения предзапроса 3-1.
Рис. 26. Запрос «Сколько единиц товаров в среднем в заказе».
SELECT Avg([3-1]![Sum-Количество]) AS Выражение1
FROM [3-1];
Рис. 27. Результат выполнения запроса «Сколько единиц товаров в среднем в заказе».
4. а) Кто заказал товаров на самую большую сумму.
Рис. 28. Предзапрос 4а-1.
SELECT Заказ.Предмет, Товары.Цены, Заказ.Количество, [Цены]*[Количество] AS [Все заказы на сумму], [Заявка на заказ].Клиент
FROM [Заявка на заказ] INNER JOIN (Товары INNER JOIN Заказ ON Товары.[Идентификатор товара] = Заказ.Предмет) ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент
GROUP BY Заказ.Предмет, Товары.Цены, Заказ.Количество, [Цены]*[Количество], [Заявка на заказ].Клиент;
Рис. 29. Результат выполнения предзапроса 4а-1.
Рис. 30. Предзапрос 4а-2.
SELECT [4а-1].Клиент, Sum([4а-1].[Все заказы на сумму]) AS [Sum-Все заказы на сумму]
FROM [4а-1]
GROUP BY [4а-1].Клиент;
Рис. 31. Результат выполнения предзапроса 4а-2.
Рис. 32. Предзапрос 4а-3.
SELECT Max([4а-2].[Sum-Все заказы на сумму]) AS [Max-Sum-Все заказы на сумму]
FROM [4а-2];
Рис. 33. Результат выполнения предзапроса 4а-3.
Рис. 34. Запрос «Кто заказал товаров на самую большую сумму».
SELECT [4а-2].Клиент, [4а-3].[Max-Sum-Все заказы на сумму]
FROM [4а-3] INNER JOIN [4а-2] ON [4а-3].[Max-Sum-Все заказы на сумму] = [4а-2].[Sum-Все заказы на сумму];
Рис. 35. Результат выполнения запроса «Кто заказал товаров на самую большую сумму».
4. б) Кто заказал только мойки.
Рис. 36. Запрос «Кто заказал только мойки».
SELECT [Заявка на заказ].Клиент, Товары.Назначение
FROM Назначение INNER JOIN ([Заявка на заказ] INNER JOIN (Товары INNER JOIN Заказ ON Товары.[Идентификатор товара] = Заказ.Предмет) ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент) ON Назначение.Код = Товары.Назначение
WHERE (((Назначение.Назначение)="Мойка"))
GROUP BY [Заявка на заказ].Клиент, Товары.Назначение;
Рис. 37. Результат выполнения запроса «Кто заказал только мойки».
5. а) В какой день было больше всего куплено в штуках всех товаров.
Рис. 38. Предзапрос 5а-1.
SELECT [Заявка на заказ].[Дата заказа], Sum(Заказ.Количество) AS [Sum-Количество]
FROM [Заявка на заказ] INNER JOIN (Товары INNER JOIN Заказ ON Товары.[Идентификатор товара] = Заказ.Предмет) ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент
GROUP BY [Заявка на заказ].[Дата заказа];
Рис. 39. Результат выполнения предзапроса 5а-1.
Рис. 40. Предзапрос 5а-2.
SELECT Max([5а-1].[Sum-Количество]) AS [Max-Sum-Количество]
FROM [5а-1];
Рис. 41. Результат выполнения предзапроса 5а-2.
Рис. 42. Запрос «В какой день было больше всего куплено в штуках всех товаров».
SELECT [5а-1].[Дата заказа], [5а-2].[Max-Sum-Количество]
FROM [5а-2] INNER JOIN [5а-1] ON [5а-2].[Max-Sum-Количество] = [5а-1].[Sum-Количество];
Рис. 43. Результат выполнения запроса «В какой день было больше всего куплено в штуках всех товаров».
5. б) В какой день было больше всего куплено моек.
Рис. 44. Предзапрос 5б-1.
SELECT Sum(Заказ.Количество) AS [Sum-Количество], [Заявка на заказ].[Дата заказа]
FROM (Назначение INNER JOIN (Товары INNER JOIN Заказ ON Товары.[Идентификатор товара] = Заказ.Предмет) ON Назначение.Код = Товары.Назначение) INNER JOIN [Заявка на заказ] ON Заказ.Клиент = [Заявка на заказ].[Идентификатор клиента]
WHERE (((Назначение.Назначение)="Мойка"))
GROUP BY [Заявка на заказ].[Дата заказа];
Рис. 45. Результат выполнения предзапроса 5б-1.
Рис. 46. Предзапрос 5б-2.
SELECT Max([5б-1].[Sum-Количество]) AS [Max-Sum-Количество]
FROM [5б-1];
Рис. 47. Результат выполнения предзапроса 5б-2.
Рис. 48. Запрос «В какой день было больше всего куплено моек».
SELECT [5б-2].[Max-Sum-Количество], [5б-1].[Дата заказа]
FROM [5б-2] INNER JOIN [5б-1] ON [5б-2].[Max-Sum-Количество] = [5б-1].[Sum-Количество]
GROUP BY [5б-2].[Max-Sum-Количество], [5б-1].[Дата заказа];
Рис. 49. Результат выполнения запроса «В какой день было больше всего куплено моек».
6. Товары каких производителей не покупают.
Рис. 50. Предзапрос 6-1.
SELECT Товары.Производитель, Заказ.Предмет
FROM Производители INNER JOIN (Товары LEFT JOIN Заказ ON Товары.[Идентификатор товара] = Заказ.Предмет) ON Производители.[Идентификатор производителя] = Товары.Производитель
GROUP BY Товары.Производитель, Заказ.Предмет;
Рис. 51. Результат выполнения предзапроса 6-1.
Рис. 52. Предзапрос 6-2.
SELECT [6-1].Производитель, Count([6-1].Предмет) AS [Count-Предмет]
FROM [6-1]
GROUP BY [6-1].Производитель;
Рис. 53. Результат выполнения предзапроса 6-2.
Рис. 54. Запрос «Товары каких производителей не покупают».
SELECT [6-2].Производитель
FROM [6-2]
WHERE ((([6-2].[Count-Предмет])=0))
GROUP BY [6-2].Производитель;
Рис. 55. Результат выполнения запроса «Товары каких производителей не покупают».
7. Мойки каких стран покупают чаще остальных.
Рис. 56. Предзапрос 7-1.
SELECT Sum(Заказ.Количество) AS [Sum-Количество], Страны.Страна
FROM Назначение INNER JOIN ([Заявка на заказ] INNER JOIN (Страны INNER JOIN (Производители INNER JOIN (Товары INNER JOIN Заказ ON Товары.[Идентификатор товара] = Заказ.Предмет) ON Производители.[Идентификатор производителя] = Товары.Производитель) ON Страны.[Идентификатор страны] = Производители.Страна) ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент) ON Назначение.Код = Товары.Назначение
WHERE (((Назначение.Назначение)="Мойка"))
GROUP BY Страны.Страна;
Рис. 57. Результат выполнения предзапроса 7-1.
Рис. 58. Предзапрос 7-2.
SELECT Max([7-1].[Sum-Количество]) AS [Max-Sum-Количество]
FROM [7-1];
Рис. 59. Результат выполнения предзапроса 7-2.
Рис. 60. Запрос «Мойки каких стран покупают чаще остальных».
SELECT [7-1].Страна, [7-2].[Max-Sum-Количество]
FROM [7-1] INNER JOIN [7-2] ON [7-1].[Sum-Количество] = [7-2].[Max-Sum-Количество];
Рис. 61. Результат выполнения запроса «Мойки каких стран покупают чаще остальных».
8. Какой заказ сделан на самое большое количество единиц.
Рис. 62. Предзапрос 8-1.
SELECT Count(Заказ.Предмет) AS [Count-Предмет], Заказ.Количество, [Заявка на заказ].[Дата заказа], [Заявка на заказ].Клиент
FROM Назначение INNER JOIN ([Заявка на заказ] INNER JOIN (Товары INNER JOIN Заказ ON Товары.[Идентификатор товара] = Заказ.Предмет) ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент) ON Назначение.Код = Товары.Назначение
GROUP BY Заказ.Количество, [Заявка на заказ].[Дата заказа], [Заявка на заказ].Клиент;
Рис. 63. Результат выполнения предзапроса 8-1.
Рис. 64. Предзапрос 8-2.
SELECT [8-1].Клиент, [8-1].[Count-Предмет], [8-1].Количество, [8-1]![Count-Предмет]*[8-1]![Количество] AS [Всего заказано предметов], [8-1].[Дата заказа]
FROM [8-1];
Рис. 65. Результат выполнения предзапроса 8-2.
Рис. 66. Предзапрос 8-3.
SELECT Max([8-2].[Всего заказано предметов]) AS [Max-Всего заказано предметов]
FROM [8-2];
Рис. 67. Результат выполнения предзапроса 8-3.
Рис. 68. Запрос «Какой заказ сделан на самое большое количество единиц».
SELECT [8-2].Клиент, [8-3].[Max-Всего заказано предметов], [8-2].[Дата заказа]
FROM [8-3] INNER JOIN [8-2] ON [8-3].[Max-Всего заказано предметов] = [8-2].[Всего заказано предметов];
Рис. 69. Результат выполнения запроса «Какой заказ сделан на самое большое количество единиц».
9. Перекрестный запрос.
Рис. 70. Перекрестный запрос.
TRANSFORM Count(Заказ.Предмет) AS [Count-Предмет]
SELECT [Заявка на заказ].Клиент
FROM Назначение INNER JOIN (Товары INNER JOIN ([Заявка на заказ] INNER JOIN Заказ ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент) ON Товары.[Идентификатор товара] = Заказ.Предмет) ON Назначение.Код = Товары.Назначение
GROUP BY [Заявка на заказ].Клиент
PIVOT Назначение.Назначение;
Рис. 71. Результат выполнения перекрестного запроса.
10. Запрос на обновление.
Рис. 72. Часть таблицы «Товары» до обновления.
Рис. 73. Часть таблицы «Товары» после обновления.
Рис. 74. Запрос на обновление.
UPDATE Товары SET Товары.Цены = [Товары]![Цены]-[Товары]![Цены]*0.25;
11. Запрос на создание таблицы.
Рис. 75. Запрос на создание таблицы.
SELECT [4а-2].Клиент, [4а-2].[Sum-Все заказы на сумму] INTO [Клиенты и сумма за все их заказы]
FROM [4а-2]
GROUP BY [4а-2].Клиент, [4а-2].[Sum-Все заказы на сумму];
Рис. 76. Таблица, созданная запросом.
12. Запрос на добавление.
Рис. 77. Запрос на добавление.
INSERT INTO Товары ([Название товара])
SELECT Цвета.Цвет
FROM Цвета;
Рис. 78. Таблица «Товары» до выполнения запроса на добавление.
Рис. 79. Таблица «Товары» после выполнения запроса на добавление.
13. Запрос на удаление.
Рис. 80. Запрос на удаление.
DELETE Товары.Назначение
FROM Товары
WHERE (((Товары.Назначение) Is Null));
Рис. 81. Таблица «Товары» до выполнения запроса на удаление.
Рис. 82. Таблица «Товары» после выполнения запроса на удаление.
Форма №1.
Рис. 83. Конструктор главной формы.
Рис. 84. Конструктор подчиненной формы.
Рис. 85. Работа формы.
Форма №2.
Рис. 86. Конструктор главной формы.
Рис. 87. Конструктор подчиненной формы.
Рис. 88. Работа формы.
Рис. 89. Запрос для главной формы.
SELECT Заказ.Предмет, Sum(Заказ.Количество) AS [Sum-Количество]
FROM [Заявка на заказ] INNER JOIN Заказ ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент
GROUP BY Заказ.Предмет;
Рис. 90. Результат выполнения запроса.
Рис. 91. Запрос для подчиненной формы.
SELECT Заказ.Предмет, Заказ.Количество, [Заявка на заказ].[Дата заказа], [Заявка на заказ].Клиент
FROM [Заявка на заказ] INNER JOIN Заказ ON [Заявка на заказ].[Идентификатор клиента] = Заказ.Клиент;
Рис. 92. Результат выполнения запроса.
Веб документ
СПИСОК ЛИТЕРАТУРЫ
1. Методические указания по выполнению лабораторных занятий и курсовой работы по дисциплине «Операционные системы и базы данных»
2. http://fio.ifmo.ru/archive/group26/c4wu5/31.htm
3. http://www.intuit.ru/department/database/databases/3/3.html
Дата добавления: 2015-11-04; просмотров: 73 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Постановка задачи | | | Сводный отчет по расходу бензина за _____________месяц ______год |