diff --git a/lab2.sql b/lab2.sql new file mode 100644 index 0000000..1928ed2 --- /dev/null +++ b/lab2.sql @@ -0,0 +1,41 @@ +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