Campus
S'inscrire
Le langage SQL Aperçu gratuit

Requêter

SELECT c.nom, COUNT(cmd.id) AS nb_commandes, SUM(cmd.montant) AS total
FROM clients c
LEFT JOIN commandes cmd ON cmd.client_id = c.id
                       AND cmd.date_commande >= '2026-01-01'
WHERE c.pays = 'FR'
GROUP BY c.nom
HAVING SUM(cmd.montant) > 1000
ORDER BY total DESC;
  • Ordre logique d'exécution : FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
  • INNER JOIN : seulement les lignes qui correspondent ; LEFT JOIN : toutes les lignes de gauche, avec NULL à droite si aucune correspondance.
  • WHERE filtre les lignes ; HAVING filtre les groupes après agrégation.
  • NULL se teste avec IS NULL, jamais avec = NULL.
  • Sous-requêtes, EXISTS, CTE (WITH) et fonctions de fenêtre (ROW_NUMBER() OVER (PARTITION BY …)).