SQL

Помогите решить SQL задачки?

TW
Team Wrestling
189
Первые 4:

SELECT AVG(c.client_age) FROM clients AS c
INNER JOIN orders AS o ON c.client_key = o.client_key
INNER JOIN items AS i ON o.item_key = i.item_key
WHERE o.order_date BETWEEN '2020-06-01' AND '2020-06-30' AND i.item_name = 'кофе'

SELECT i.item_name, cum(o.order_qty) FROM orders AS o
INNER JOIN items AS i ON o.item_key = i.item_key
WHERE o.order_date BETWEEN '2021-10-15' AND '2021-10-20' AND o.order_delivery_date IS NOT NULL
GROUP BY o.item_key

SELECT c.client_fio FROM clients AS c
INNER JOIN orders AS o ON c.client_key = o.client_key
INNER JOIN items AS i ON o.item_key = i.item_key
WHERE o.order_date BETWEEN '2021-07-01' AND '2021-07-31'
GROUP BY c.client_key
HAVING SUM(o.order_qty * i.item_price) > 1500

SELECT DISTINCT c.client_fio FROM clients AS c
INNER JOIN orders AS o1
ON c.client_key = o1.client_key AND o1.order_date BETWEEN '2020-09-01' AND '2020-09-30'
INNER JOIN items AS i1 ON o1.item_key = i1.item_key AND i1.item_name = 'шапка'
INNER JOIN orders AS o2
ON c.client_key = o2.client_key AND o2.order_date BETWEEN '2020-09-01' AND '2020-09-30'
INNER JOIN items AS i2 ON o2.item_key = i2.item_key AND i2.item_name = 'шарф'
WHERE o1.order_date = o2.order_date

И нет, таблица не нормализована. Не соответствует никакой нормальной форме.
Виталий Коваль
Виталий Коваль
52 508
Лучший ответ
Team Wrestling Спасибо большое!
Такую задачку мне на собеседовании давали решить. На коленке - "Вот бумажка и ручка. Пишите". Даже черновик(!!!) разрешили использовать! (г. Красноярск).
P.S. Дебилов среди работодателей в РФ хватает...