Создание SQL-запросов: Выдать полную информацию о товарах и таблицу клиентов

Страницы работы

Содержание работы

                                 Лабораторная работа № 7.

Создание SQL-запросов  (Structured Query Language).

Цель: Научиться создавать SQL-запросы. 

Задание

1.  Выдать полную информацию о товарах.

SELECT *

FROM Товар;

2.  Выдать таблицу клиентов, задавая следующий порядок следования полей

Индекс, Город, Адрес, Название,

SELECT Индекс, Город, Адрес, Название

FROM клиенты;

3.  Выдать Наименование всех товаров.

SELECT DISTINCT наименование

FROM товар;

4.  Выдать список клиентов из Новосибирска.

SELECT название

FROM клиенты

WHERE город='Н-ск';

5.  Составить список товаров, упорядоченных по полю КодТипа товара, а в пределах одного типа товара по Наименованию товара.

SELECT *

FROM товар

ORDER BY 2, 3;

6.  Выдать информацию о заказах, ДатаРазмещения  которых попадает в последний квартал прошлого года.

SELECT *

FROM заказы

WHERE ДатаРазмещения>=#10/1/2009# And ДатаРазмещения<=#12/31/2009#;

7.  Выдать список товаров, КодТовара которых начинается с 1(или любого другого определенного символа в зависимости от ваших данных).

SELECT [код товара], наименование

FROM товар

WHERE [код товара] like "1*";

8.  Определить общее количество клиентов .

SELECT count(*)

FROM клиенты;

9.  Выдать общее количество заказов, сделанных клиентами.

SELECT count(*)

FROM заказы;

10. Выдать количество заказов одного определенного клиента  (любого клиента, КодКлиента которого есть среди ваших данных).

SELECT count(*)

FROM заказы

WHERE [код клиента]=116;

11. Определить количество заказов, содержащих товар с заданным кодом.

SELECT count(*)

FROM заказано

WHERE [код товара]=1111;

12. Выявить средний, минимальный и максимальный объем заказов для любого клиента, имеющего несколько заказов (В запросе укажите конкретный КодКлиента с учетом ваших данных).

SELECT Avg(Количество) AS среднее, Min(Количество) AS минимальное, Max(Количество) AS максимальное

FROM Заказы INNER JOIN Заказано ON Заказы.[Код заказа]=Заказано.[Код заказа]

WHERE [Код клиента]=116;

13. Выдать для каждого товара КодТовара и  общее заказанное количество этого товара.

SELECT Товар.[Код товара], Наименование, Sum(Количество) AS Всего

FROM Товар INNER JOIN Заказано ON Товар.[Код товара]=Заказано.[Код товара]

GROUP BY Товар.[Код товара], Наименование;

14. Выдать список товаров, заказанных более чем в одном заказе.

SELECT Заказано.[Код товара], Товар.Наименование

FROM Заказано INNER JOIN Товар ON Заказано.[Код товара]=Товар.[Код товара]

GROUP BY Заказано.[Код товара], Товар.Наименование

HAVING COUNT(*)>1;

15. Дать сведения обо всех клиентах и их заказах (с помощью команды INNER JOIN).

SELECT Клиенты.[Код клиента], Название, [Код заказа]

FROM Клиенты INNER JOIN Заказы ON Клиенты.[Код клиента]=Заказы.[Код клиента];

16. Дать сведения обо всех клиентах и  заказанных ими товарах

SELECT Название, Заказы.[Код клиента], Заказы.[Код заказа], Заказано.[Код товара], Наименование

FROM Клиенты, Заказы, Заказано, Товар

WHERE Клиенты.[Код клиента]=Заказы.[Код клиента] AND Заказы.[Код заказа]=Заказано.[Код заказа] And Заказано.[Код товара]=Товар.[Код товара];

17. Выдать список клиентов, заказавших определенный товар (конкретный КодТовара указать в запросе).

SELECT Название, Заказы.[Код клиента], Заказы.[Код заказа], Заказано.[Код товара], Наименование

FROM Клиенты, Заказы, Заказано, Товар

WHERE Клиенты.[Код клиента]=Заказы.[Код клиента] AND Заказы.[Код заказа]=Заказано.[Код заказа] And Заказано.[Код товара]=Товар.[Код товара] AND Товар.[Код товара]=1116;

18. Выдать список заказов, содержащих товары заданного типа.

SELECT Заказано.[Код заказа]

FROM Заказано, Товар, Типы

WHERE Заказано.[Код товара]=Товар.[Код товара] AND Товар.[Код типа]=Типы.[Код типа] AND Типы.[Код типа]=1;

19. Определить КодКлиента, заказавшего по крайней мере один товар такой же, как заказанный любым другим клиентом ( выберите КодКлиента, заказавшего товар,  из вашего списка).

SELECT DISTINCT [Код клиента]

FROM Заказы AS X INNER JOIN Заказано AS Y ON X.[Код заказа]=Y.[Код заказа]

WHERE Y.[Кодтовара] IN

(SELECT [Кодтовара]

FROM Заказы INNER JOIN Заказано

ON Заказы.[Код заказа]=Заказано.[Код заказа]

WHERE Заказы.[Код клиента]=116);

20. Выдать коды товаров, заказанных более чем одним клиентом.

SELECT DISTINCT [Код товара]

FROM Заказано AS X INNER JOIN Заказы AS Y ON X.[Код заказа]=Y.[Код заказа]

WHERE X.[Кодтовара] IN

(SELECT [Кодтовара]

FROM Заказы INNER JOIN Заказано

ON Заказы.[Код заказа]=Заказано.[Код заказа]

WHERE Заказы.[Код клиента]<>Y.[Код клиента]);

21. Выдать информацию о клиентах, заказавших определенный товар (использовать коррелированный подзапрос, КодТовара выбрать произвольно).

SELECT Клиенты.[Код клиента], Клиенты.Название, Клиенты.Индекс, Клиенты.Город, Клиенты.Адрес

FROM Клиенты INNER JOIN Заказы ON Клиенты.[Код клиента]=Заказы.[Код клиента]

WHERE 1110 IN

(SELECT Заказано.[Код товара]

FROM Заказано INNER JOIN Заказы ON Заказано.[Код заказа]=Заказы.[Код заказа]

where клиенты.[Код клиента]=заказы.[Код клиента]);

22. Выдать Названия и Адреса  клиентов, заказавших все возможные виды товаров.

SELECT Название, Адрес

FROM Клиенты

WHERE NOT EXISTS

(SELECT *

FROM Товар

WHERE NOT EXISTS

(SELECT *

FROM Заказы, Заказано

WHERE Заказы.[Код заказа]=Заказано.[Код заказа] AND [Код клиента]=Клиенты.[Код клиента]  AND [Код товара]=Товар.[Код товара]));

23. Выдать список товаров, цена которых выше заданного уровня и заказанных определенным клиентом (КодКлиента введите с учетом ваших данных).

SELECT [Код товара]

FROM Товар

WHERE [На складе] > 750

UNION SELECT [Код товара]

FROM Заказы  INNER JOIN Заказано

ON Заказы.[Код заказа]=Заказано.[Код заказа]

WHERE Заказы.[Код клиента]=116;

24. Добавьте запись о новом клиенте.

INSERT INTO Клиенты

VALUES (120, "Молодец", 315102, "Бердск", "Южный парк 666", "Компания №1");

25. Удалите сведения об определенном клиенте.

DELETE *

FROM Клиенты

WHERE [Код клиента]=120;

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
38 Kb
Скачали:
0