Sobes.tech
Junior — Middle

Pouvez-vous raconter des cas où vous avez utilisé des requêtes SQL, et décrire des exemples parmi les plus complexes?

sobes.tech IA

Réponse de l'IA

Dans ma pratique avec les requêtes SQL, j'ai souvent travaillé avec des ensembles de résultats provenant de plusieurs tables en utilisant JOIN, ainsi qu'avec des agrégations et des sous-requêtes. Par exemple, l'une des requêtes complexes comprenait :

  • La jointure de données de trois tables (utilisateurs, commandes, produits)
  • Le filtrage par date et statut de commande
  • Le regroupement par utilisateurs avec le calcul du total des commandes
  • L'utilisation d'une sous-requête pour obtenir le prix maximum d'un produit dans chaque commande

Un exemple de cette requête :

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;

Ce type de requête permet d'obtenir une liste d'utilisateurs avec le nombre et le montant de leurs commandes dépassant le ticket moyen, ce qui est utile pour l'analyse et le marketing.