Junior — Middle
Vai jūs varat pastāstīt par gadījumiem, kad esat izmantojis SQL vaicājumus, un aprakstīt viskomplicētākos piemērus?
sobes.tech AI
Atbilde no AI
Manas praksē ar SQL vaicājumiem bieži ir strādājis ar rezultātu kopām no vairākām tabulām, izmantojot JOIN, kā arī ar agregācijām un apakšvaicājumiem. Piemēram, viens no sarežģītākajiem vaicājumiem ietvēra:
- Datu apvienošanu no trim tabulām (lieti, pasūtījumi, produkti)
- Filtrēšanu pēc datuma un pasūtījuma statusa
- Grupēšanu pēc lietotājiem ar pasūtījumu summas aprēķinu
- Apakšvaicājuma izmantošanu, lai iegūtu maksimālo produkta cenu katrā pasūtījumā
Šāds vaicājuma piemērs:
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;
Šis vaicājums ļauj iegūt lietotāju sarakstu ar to pasūtījumu skaitu un kopējo summu, kas pārsniedz vidējo čekā, kas ir noderīgi analīzei un mārketingam.