Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions homework-3/queries.sql
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
-- Напишите запросы, которые выводят следующую информацию:
-- 1. Название компании заказчика (company_name из табл. customers) и ФИО сотрудника, работающего над заказом этой компании (см таблицу employees),
-- когда и заказчик и сотрудник зарегистрированы в городе London, а доставку заказа ведет компания United Package (company_name в табл shippers)

SELECT DISTINCT customers.company_name AS "customer", CONCAT(employees.first_name, ' ', employees.last_name) AS "employee"
FROM customers
INNER JOIN employees USING(city)
INNER JOIN orders ON customers.company_name=orders.ship_name
INNER JOIN shippers ON orders.ship_via=shippers.shipper_id
WHERE customers.city= 'London' AND employees.city= 'London' AND shippers.company_name= 'United Package'
ORDER BY customer DESC;

-- 2. Наименование продукта, количество товара (product_name и units_in_stock в табл products),
-- имя поставщика и его телефон (contact_name и phone в табл suppliers) для таких продуктов,
-- которые не сняты с продажи (поле discontinued) и которых меньше 25 и которые в категориях Dairy Products и Condiments.
-- Отсортировать результат по возрастанию количества оставшегося товара.

SELECT product_name, units_in_stock, suppliers.contact_name, suppliers.phone
FROM products
INNER JOIN suppliers USING(supplier_id)
INNER JOIN categories USING(category_id)
WHERE discontinued <> 1 AND products.units_in_stock < 25
AND categories.category_name IN ('Dairy Products','Condiments')
ORDER BY products.units_in_stock;

-- 3. Список компаний заказчиков (company_name из табл customers), не сделавших ни одного заказа

SELECT company_name FROM customers
WHERE customer_id NOT IN (SELECT DISTINCT customer_id FROM orders);

-- 4. уникальные названия продуктов, которых заказано ровно 10 единиц (количество заказанных единиц см в колонке quantity табл order_details)
-- Этот запрос написать именно с использованием подзапроса.
SELECT DISTINCT product_name
FROM products
WHERE product_id IN (SELECT product_id FROM order_details WHERE quantity=10);