first commit

This commit is contained in:
Vitalii Litvinchuk
2026-05-04 23:15:09 +03:00
commit 6deed0469a
49 changed files with 5366 additions and 0 deletions
+107
View File
@@ -0,0 +1,107 @@
use OrdersDB_2;
##################### Завдання #######################
##########################################################
################### Завдання 1.1 #####################
Знайдіть максимальну і мінімальну середню суму угоди на основі середньої суми угод кожного продавця.
Підказка: використайте підзапит у пропозиції FROM.
select max(avg_amt), min(avg_amt)
from (
select avg(amt) as avg_amt
from Orders
group by
SNUM
) as avg_amt;
######################################################
################# Завдання 1.2 ###################
Напишіть запит, що виведе кожне замовлення покупців, якщо їх вартість більша за кожне замовлення
покупця Grass. Вивід здійснити у формі onum, amt, odate, cname.
Підказка: використайте оператор ALL
select onum, amt, odate, cname
from Orders o
join Customers c on o.cnum = c.cnum
where
amt > all (
select amt
from Orders
where
cnum = (
select cnum
from Customers
where
cname = 'Grass'
)
);
######################################################
################# Завдання 1.3 ###################
Виведіть усі замовлення для яких сума угоди перевершує хоча б якесь замолення,
що обслуговувалося продавцем Peel
Вивід здійсніть у формі amt, odate, cname, sname
select amt, odate, cname, sname
from
Orders o
join Customers c on o.cnum = c.cnum
join Salespeople s on o.snum = s.snum
where
amt > any (
select amt
from Orders
where
snum = (
select snum
from Salespeople
where
sname = 'Peel'
)
);
#####################################################
################ Завдання 1.4 ###################
Виведіть продавців серердня сума угод яких перевищує середню суму усіх угод.
У вивід включіть імя продавця та його середню суму угод
Підказка:
select sname, avg_amt
from Salespeople s
join (
select snum, avg(amt) as avg_amt
from Orders
group by
snum
) as avg_amt on s.snum = avg_amt.snum
where
avg_amt > (
select avg(amt)
from Orders
);
#####################################################
################ Завдання 1.5 ###################
Виведіть покупців, серердня сума угод яких перевищує середню суму усіх угод.
У вивід включіть імя покупця та його середню суму угод а також загальну середню суму угод.
Підказка:
select cname, avg_amt, round(
(
select avg(amt)
from Orders
), 2
) as avg_amt_all
from Customers c
join (
select cnum, avg(amt) as avg_amt
from Orders
group by
cnum
) as avg_cus on c.cnum = avg_cus.cnum
where
avg_amt > (
select avg(amt)
from Orders
);