Leçon 6 sur 8 · Notions fondamentales des bases de données · Débutant

Une fois que vous pouvez écrire une requête SELECT de base, l'étape suivante est d'apprendre à filtrer les lignes avec précision, à trier par plusieurs colonnes et à résumer les données à l'aide de fonctions d'agrégation. Ce sont les outils qui transforment les tables de base de données brutes en réponses utiles.

Conditions de comparaison

La clause WHERE prend en charge une gamme d'opérateurs de comparaison :

  • = égal à
  • <> ou != différent de
  • > supérieur à, < inférieur à
  • >= supérieur ou égal à, <= inférieur ou égal à

Vous pouvez combiner des conditions avec AND et OR :

SELECT nom_programme, capacite, type_programme
FROM programmes
WHERE capacite >= 10
  AND type_programme = 'Atelier'
ORDER BY capacite;

Filtrage des valeurs nulles

Vous ne pouvez pas utiliser = NULL pour trouver des valeurs nulles. Utilisez IS NULL ou IS NOT NULL :

SELECT nom_programme
FROM programmes
WHERE date_debut IS NULL;

Tri par plusieurs colonnes

ORDER BY peut trier par plus d'une colonne :

SELECT nom_programme, type_programme, date_debut
FROM programmes
ORDER BY type_programme ASC, date_debut DESC;

Fonctions d'agrégation

Les fonctions d'agrégation résument un ensemble de lignes en une seule valeur :

  • COUNT(*) — compte le nombre de lignes
  • SUM(colonne) — additionne les valeurs numériques
  • AVG(colonne) — calcule la moyenne
  • MIN(colonne) — trouve la valeur la plus petite
  • MAX(colonne) — trouve la valeur la plus grande

GROUP BY

GROUP BY divise les lignes en groupes et applique la fonction d'agrégation à chaque groupe séparément :

SELECT emplacement_id, COUNT(*) AS nombre_programmes
FROM programmes
GROUP BY emplacement_id;

Chaque ligne de sortie représente un emplacement et montre combien de programmes s'y tiennent.

SELECT type_programme, AVG(capacite) AS capacite_moyenne
FROM programmes
GROUP BY type_programme
ORDER BY capacite_moyenne DESC;

Interpréter les résultats groupés

Quand vous utilisez GROUP BY, chaque ligne de sortie représente un groupe — pas un enregistrement individuel. Le niveau de détail change. Validez toujours les résultats groupés en vérifiant si les totaux ont du sens.

Erreur courante

Oublier que GROUP BY change le niveau de détail est une source fréquente de confusion. Après le regroupement, vous travaillez avec des résumés, pas des enregistrements individuels. Vérifiez vos comptages de lignes avant et après pour confirmer que la requête fait ce que vous attendez.

Points à retenir

  • WHERE prend en charge les opérateurs de comparaison et les combinaisons AND/OR.
  • Utilisez IS NULL et IS NOT NULL pour filtrer les valeurs nulles — pas = NULL.
  • ORDER BY peut trier par plusieurs colonnes dans différentes directions.
  • Les fonctions d'agrégation (COUNT, SUM, AVG, MIN, MAX) résument des groupes de lignes.
  • GROUP BY change le niveau de détail — validez les totaux pour confirmer l'exactitude.
Termes de recherche suggérés
  • exemples SQL WHERE AND OR
  • SQL GROUP BY fonctions d'agrégation
  • tutoriel SQL COUNT SUM AVG
  • filtre SQL IS NULL
← Introduction au SQLJointures de tables →