-- wypisuje produkty, ktore nie byly zamowione
select ProductName from Products
where CategoryID IS NULL
-- wypisuje produkty, ktore nie byly zamowione
select Distinct ProductName
from Products PD left join [Order Details] ODD
on PD.ProductID=ODD.ProductID
where ODD.ProductID IS NULL
-- wypisuje klientow, ktorzy nie zlozyli zadnego zamowienia
select CompanyName
from Customers C left join [Orders] OD
on C.CustomerID=OD.CustomerID
where OD.CustomerID IS NULL
-- ile zamowien zlozyli poszczegolni klienci, nalezy uwzglednic rowniez tych,
-- ktorzy nie zlozyli zadnego zamowienia i posortowac wedlug ilosci
select CompanyName, count(OD.OrderID) [Ilosc zamowien]
from Customers C left join Orders O
on C.CustomerID=O.CustomerID
left join [Order Details] OD on O.OrderID=OD.OrderID
group by CompanyName
order by count(OD.OrderID) desc
-- PODZAPYTANIA
-- jaka jest srednia wartosc zamowienia
select (select sum(UnitPrice*Quantity)
from [Order Details])/count(OrderID) [Srednia wartosc zamowien] from Orders
-- znalezc wartosc zamownienia, ktora wartosc jest wieksza od sredniej
select sum(UnitPrice*Quantity)Wartosc, OrderID
from [Order Details]
group by OrderID
having (sum(UnitPrice*Quantity)) > (select (select sum(UnitPrice*Quantity) from [Order Details])/(count(OrderID))
from Orders)