Sobes.tech
Junior — Middle

Czy może Pan opowiedzieć o przypadkach, gdy używał zapytań SQL, i opisać przykłady najbardziej skomplikowanych z nich?

sobes.tech AI

Odpowiedź od AI

W mojej praktyce z zapytaniami SQL często pracowałem z wynikami z kilku tabel, korzystając z JOIN, a także z agregacjami i podzapytaniami. Na przykład jedno z trudniejszych zapytań obejmowało:

  • Połączenie danych z trzech tabel (użytkownicy, zamówienia, produkty)
  • Filtrowanie według daty i statusu zamówienia
  • Grupowanie według użytkowników z obliczeniem sumy zamówień
  • Użycie podzapytania do uzyskania maksymalnej ceny produktu w każdym zamówieniu

Przykład takiego zapytania:

SELECT u.UserName, COUNT(o.OrderID) AS OrdersCount, SUM(oi.Quantity * oi.Price) AS TotalSpent
FROM Users u
JOIN Orders o ON u.UserID = o.UserID
JOIN OrderItems oi ON o.OrderID = oi.OrderID
WHERE o.OrderDate >= '2023-01-01' AND o.Status = 'Completed'
GROUP BY u.UserName
HAVING SUM(oi.Quantity * oi.Price) > (
    SELECT AVG(TotalPrice) FROM (
        SELECT SUM(Quantity * Price) AS TotalPrice
        FROM OrderItems
        GROUP BY OrderID
    ) AS OrderTotals
)
ORDER BY TotalSpent DESC;

Tego typu zapytanie pozwala uzyskać listę użytkowników z ilością i sumą ich zamówień, które przekraczają średni rachunek, co jest przydatne w analizie i marketingu.