Sobes.tech
Junior — Middle

Kas saaksite rääkida juhtumitest, kus olete kasutanud SQL-päringuid, ning kirjeldada nende kõige keerulisemaid näiteid?

sobes.tech AI

Vastus AI-lt

Minu SQL-päringute praktikas jooksul olen sageli töötanud mitme tabeli tulemuste kogumitega, kasutades JOIN-i, samuti agregaatide ja alamküsitluste abil. Näiteks hõlmas üks keerulisemaid päringuid:

  • Andmete ühendamist kolmest tabelist (kasutajad, tellimused, tooted)
  • Filtreerimist kuupäeva ja tellimuse staatuse alusel
  • Rühmitamist kasutajate kaupa koos tellimuste summa arvutamisega
  • Alamküsitluse kasutamist iga tellimuse maksimaalse tootehinna saamiseks

Näide sellisest päringust:

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;

Selline päring võimaldab saada kasutajate nimekirja nende tellimuste arvu ja kogusummaga, mis ületavad keskmise tšeki, mis on kasulik analüütika ja turunduse jaoks.