SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 10.10.2019 14:08:32

Junior QA
Участник
Зарегистрирован: 10.10.2019
Сообщений: 1

Помогите, пожалуйста, с решением нескольких задач по MySql

Доброго времени суток, дорогие форумчане.
Сейчас посещаю курсы по функциональному тестированию и нам дали задание написать разные запросы по БД MySql, с которым мы познакомились совсем недавно, поэтому мне сложно даже представить некоторые из них. Может кто-нибудь из более опытных пользователей подскажет, как написать вот эти 6? Рассчитываю на вашу помощь)

P.S. Скриншот с БД прикреплён)

Запросы:

24. Показать названия продуктов и их категорий, которые используются в заказах от заказчика по имени Blondel père et fils и категории которых состоят как минимум из 2-х слов.

+----------------+------------------------+
| CategoryName | ProductName |
+----------------+------------------------+
| Dairy Products | Mozzarella di Giovanni |
+----------------+------------------------+

25. Вывести количество заказчиков (колонку назвать Buyers), которые сделали заказали один из продуктов: «Queso Cabrales», «Gustaf's Knäckebröd», «Louisiana Fiery Hot Pepper Sauce», «Schoggi Schokolade», «Gnocchi di nonna Alice».

Select count(CustomerID) as 'Buyers' from Customers, Products where Customers.CustomerID in (select Orders.CustomerID from voodoo.Orders where Orders.OrderID in (select OrderDetails.OrderiD from voodoo.OrderDetails where OrderDetails.ProductID in (select Products.ProductID from voodoo.Products))) and Products.ProductName = ‘Queso Cabrales’, ‘Gustaf's Knäckebröd’, ‘Louisiana Fiery Hot Pepper Sauce’, ‘Schoggi Schokolade’, ‘Gnocchi di nonna Alice’;
+--------+
| Buyers |
+--------+
| 25 |
+--------+


26. *Найти города в которые было отправлено больше всего заказов, вывести название города и количество заказов (колонку назвать Amount).

+--------+--------+
| City | Amount |
+--------+--------+
| Graz | 10 |
| London | 10 |
+--------+--------+

27. *Найти из какого города было поставлено наибольшее количество единиц товаров в Лондон, вывести название города и количество единиц (колонку назвать Amount).

+---------+--------+
| City | Amount |
+---------+--------+
| Annecy | 80 |
| Ravenna | 80 |
+---------+--------+

28. *Найти перевозчиков, которые перевезли более 30 товаров с категорией напиток (Beverages), вывести имена перевозчиков, категорию товара и сколько раз они доставляли заказы с такой категорией (колонку назвать Amount).

+------------------+--------------+--------+
| ShipperName | CategoryName | Amount |
+------------------+--------------+--------+
| Federal Shipping | Beverages | 31 |
| United Package | Beverages | 37 |
+------------------+--------------+--------+

29. *Найти среднюю стоимость приправ (Condiments) отправленных в штаты, заказы на которые оформлены Margaret Peacock, вывести стоимость округленную до 2-х знаков после запятой (колонку назвать Average)

+---------+
| Average |
+---------+
| 30.17 |
+---------+

30. ** Найти сотрудников, которые оформили заказов на такой процент от общей стоимости всех оформленных заказов, который больше, чем процент общей стоимости заказов оформленных сотрудником, о котором в базе содержится самое длинное примечание (Notes), к общей стоимости всех заказов, который были перевезены перевозчиками, у которых номер телефона совпадает с номером телефона одного из поставщиков. Вывести полные имена сотрудников (в одной ячейке через пробел, назвав колонку EmployeeName) и процент от общей стоимости оформленных ими заказов к общей стоимости всех заказов, округленный до 2-х знаков после запятой, со значком процента через пробел после самой величины (назвав колонку Ratio).

+------------------+---------+
| EmployeeName | Ratio |
+------------------+---------+
| Margaret Peacock | 27.35 % |
+------------------+---------+

ТАБЛИЦЫ

Categories
+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| CategoryID | int(11) | NO | PRI | NULL | |
| CategoryName | varchar(255) | YES | | NULL | |
| Description | varchar(255) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+

Customers

+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| CustomerID | int(11) | NO | PRI | NULL | |
| CustomerName | varchar(255) | YES | | NULL | |
| ContactName | varchar(255) | YES | | NULL | |
| Address | varchar(255) | YES | | NULL | |
| City | varchar(255) | YES | | NULL | |
| PostalCode | varchar(255) | YES | | NULL | |
| Country | varchar(255) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+

Employees

+------------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------------+------+-----+---------+-------+
| EmployeeID | int(11) | NO | PRI | NULL | |
| LastName | varchar(255) | YES | | NULL | |
| FirstName | varchar(255) | YES | | NULL | |
| BirthDate | date | YES | | NULL | |
| Photo | varchar(255) | YES | | NULL | |
| Notes | varchar(1024) | YES | | NULL | |
+------------+---------------+------+-----+---------+-------+

OrderDetails

+---------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+-------+
| OrderDetailID | int(11) | NO | PRI | NULL | |
| OrderID | int(11) | YES | | NULL | |
| ProductID | int(11) | YES | | NULL | |
| Quantity | int(11) | YES | | NULL | |
+---------------+---------+------+-----+---------+-------+

Orders
+------------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+-------+
| OrderID | int(11) | NO | PRI | NULL | |
| CustomerID | int(11) | YES | | NULL | |
| EmployeeID | int(11) | YES | | NULL | |
| OrderDate | date | YES | | NULL | |
| ShipperID | int(11) | YES | | NULL | |
+------------+---------+------+-----+---------+-------+

Products
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ProductID | int(11) | NO | PRI | NULL | |
| ProductName | varchar(255) | YES | | NULL | |
| SupplierID | int(11) | YES | | NULL | |
| CategoryID | int(11) | YES | | NULL | |
| Unit | varchar(255) | YES | | NULL | |
| Price | decimal(5,2) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+

Shippers
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| ShipperID | int(11) | NO | PRI | NULL | |
| ShipperName | varchar(255) | YES | | NULL | |
| Phone | varchar(255) | YES | | NULL | |
+-------------+--------------+------+-----+---------+-------+

Suppliers

+--------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+-------+
| SupplierID | int(11) | NO | PRI | NULL | |
| SupplierName | varchar(255) | YES | | NULL | |
| ContactName | varchar(255) | YES | | NULL | |
| Address | varchar(255) | YES | | NULL | |
| City | varchar(255) | YES | | NULL | |
| PostalCode | varchar(255) | YES | | NULL | |
| Country | varchar(255) | YES | | NULL | |
| Phone | varchar(255) | YES | | NULL | |
+--------------+--------------+------+-----+---------+-------+


Прикрепленные файлы:
Attachment Icon БД.jpg, Размер: 242,417 байт, Скачано: 2

Неактивен

 

#2 10.10.2019 14:55:06

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5628

Re: Помогите, пожалуйста, с решением нескольких задач по MySql

прочитайте про join и группировку

разбивайте задачи на более простые и пробуйте их решить, что не получается спрашивайте

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson