Предмет: Информатика, автор: ninobar1712

Помогите пожалуйста с задачами SQL 100 баллов
1. Кaкую кaтeгорию товаров чащe меньшe всeго заказывает заказчик Eastеrn Connеction?
2.Кaкую кaтeгорию товаров меньше вcего продаёт cотрудник по фaмилии Lеvеrling?
3. Oпредeлить наимeнованиe кoмпаний-пoставщиков, гдe имя кoнтактного лицa начинаeтся с «S». Сколько строк в выборкe?
База данных northwind, ниже прикрепляю структуру базы данных

Приложения:

Ответы

Автор ответа: TemaZpro
1

SQL запросы:

1.1) Заказывает реже всего

SELECT c.category_name

FROM categories c

JOIN products p ON c.category_id = p.category_id

JOIN order_details od ON p.product_id = od.product_id

JOIN orders o ON od.order_id = o.order_id

JOIN customers cust ON o.customer_id = cust.customer_id

WHERE cust.company_name = 'Eastern Connection'

GROUP BY c.category_name

ORDER BY COUNT(*) ASC

LIMIT 1;

1.2) Заказывает чаще всего:

SELECT c.category_name

FROM categories c

JOIN products p ON c.category_id = p.category_id

JOIN order_details od ON p.product_id = od.product_id

JOIN orders o ON od.order_id = o.order_id

JOIN customers cust ON o.customer_id = cust.customer_id

WHERE cust.company_name = 'Eastern Connection'

GROUP BY c.category_name

ORDER BY COUNT(*) DESC

LIMIT 1;

2) Сотрудник Leverling продает меньше всего:

SELECT c.category_name

FROM categories c

JOIN products p ON c.category_id = p.category_id

JOIN order_details od ON p.product_id = od.product_id

JOIN orders o ON od.order_id = o.order_id

JOIN employees emp ON o.employee_id = emp.employee_id

WHERE emp.last_name = 'Leverling'

GROUP BY c.category_name

ORDER BY COUNT(*) ASC

LIMIT 1;

3.1) Контактное лицо начинается с буквы "S":

SELECT company_name

FROM suppliers

WHERE contact_name LIKE 'S%'

3.2) Для подсчета количества строк в выборке:

SELECT COUNT(*) AS row_count

FROM suppliers

WHERE contact_name LIKE 'S%'


ninobar1712: лучший...!
Похожие вопросы
Предмет: Математика, автор: sashulyko