USE Northwind_2020;

-- 1.	Spośród klientów z Londynu wybierz tych których nazwa zaczyna na się na A, B lub C
SELECT * FROM (SELECT * FROM Customers WHERE City='London') MIESZKANCY_LONDYNU WHERE CompanyName LIKE '[a-c]%'

-- 2.	Wyświetl informacje o zamówieniach z czerwca 1996 obsługiwanych na wschodzie, których wartość przekroczyła średnią wartość wszystkich zamówień
SELECT Orders.OrderID, Quantity*UnitPrice AS WARTOSC FROM Orders
INNER JOIN Employees ON Orders.EmployeeID=Employees.EmployeeID
INNER JOIN EmployeeTerritories ON EmployeeTerritories.EmployeeID=Employees.EmployeeID
INNER JOIN Territories ON Territories.TerritoryID=EmployeeTerritories.TerritoryID
INNER JOIN Region ON Region.RegionID=Territories.RegionID
INNER JOIN [Order Details] ON [Order Details].OrderID=Orders.OrderID
WHERE RegionDescription='EASTERN' AND OrderDate LIKE '%1996%'
AND [Order Details].Quantity*[Order Details].UnitPrice > (SELECT avg(Quantity*UnitPrice) FROM [Order Details])

-- 3.	Wypisz produkt, który ma najniższą cenę
SELECT * FROM Products WHERE UnitPrice=(SELECT min(UnitPrice) FROM Products)

-- 4.	Znaleźć produkty o cenach najniższych w swoich kategoriach // korelacja
SELECT ProductName, CategoryID, UnitPrice FROM Products AS p1 WHERE UnitPrice IN (SELECT min(UnitPrice) FROM Products AS p2 WHERE p1.CategoryID=p2.CategoryID)

-- 5.	Podaj ilu pracowników mieszka w takich samych miastach
SELECT count(*) FROM Employees AS p1 WHERE City IN (SELECT City FROM Employees AS p2 WHERE p1.City=p2.City AND p1.EmployeeID!=p2.EmployeeID)

-- 6.	Wskazać produkt, którego nikt inny nie zamawiał
SELECT ProductID FROM Products
EXCEPT
SELECT DISTINCT ProductID from [Order Details]

-- 7.	Wypisz klientów, którzy nie zamawiali
SELECT CustomerID FROM Customers
EXCEPT
SELECT DISTINCT CustomerID from Orders

SELECT CompanyName, OrderID FROM Customers
LEFT JOIN Orders ON Customers.CustomerID=Orders.CustomerID WHERE OrderID IS NULL

-- 8.	Którzy klienci najczęściej zamawiali
SELECT CustomerID, count(CustomerID) AS Ile FROM Orders GROUP BY CustomerID ORDER BY Ile DESC

-- 9.	Napisz kwerendę, która zwróci listę miast, w których mieszkają zarówno klienci, jak i pracownicy
