SQL pour la documentation : SELECT, jointures et agrégats

Sciences de l'information · Bachelor 3

Interroger une base documentaire en SQL : sélection, jointure, regroupement et tri.

Introduction

SQL est le langage standard d'interrogation des bases relationnelles. Dans une bibliothèque ou un service d'archives, il sert à extraire des listes, produire des statistiques de prêt, repérer des anomalies de catalogage ou préparer des exports.

Ce deck présente les clauses essentielles : sélection et filtrage, jointure entre tables, regroupement et fonctions d'agrégat, tri. Il met l'accent sur la lecture d'une requête et sur les erreurs fréquentes, comme les jointures oubliées qui multiplient les lignes.

Objectifs d'apprentissage

  • Écrire une requête SELECT avec filtre et tri
  • Joindre plusieurs tables à l'aide des clés
  • Calculer des statistiques avec GROUP BY et les fonctions d'agrégat

Concepts clés

SELECT ... FROM ... WHERE
Choisit des colonnes d'une table et filtre les lignes selon une condition.
JOIN
Relie des tables en rapprochant les clés étrangères et primaires.
GROUP BY et agrégats
Regroupe des lignes et calcule COUNT, SUM, AVG, MIN ou MAX par groupe.
ORDER BY
Trie le résultat selon une ou plusieurs colonnes.

Conclusion

SQL est un outil de travail courant pour les professionnels de l'information. Savoir filtrer, joindre et agréger permet de transformer une base documentaire en indicateurs fiables, à condition de rester attentif aux jointures et aux valeurs nulles.

Cartes

Que fait la clause SELECT ?
Elle indique les colonnes ou expressions à renvoyer.
Que fait la clause WHERE ?
Elle filtre les lignes selon une condition avant tout regroupement.
Que fait une jointure interne (INNER JOIN) ?
Elle renvoie uniquement les lignes pour lesquelles la condition de jointure est vérifiée dans les deux tables.
Que fait une jointure externe gauche (LEFT JOIN) ?
Elle conserve toutes les lignes de la table de gauche, avec des valeurs nulles quand il n'y a pas de correspondance.
À quoi sert GROUP BY ?
À regrouper les lignes ayant la même valeur pour calculer un agrégat par groupe.
Quelle différence entre WHERE et HAVING ?
WHERE filtre les lignes avant regroupement ; HAVING filtre les groupes après agrégation.
Que renvoie COUNT(*) ?
Le nombre de lignes du groupe ou de la table.
Comment lister les documents jamais empruntés ?
Avec un LEFT JOIN vers les prêts et un filtre sur les lignes sans correspondance (valeur nulle).
Quelle erreur provoque des lignes en double après une jointure ?
Oublier la condition de jointure ou joindre une table liée à plusieurs lignes, ce qui produit un produit cartésien partiel.
Pourquoi utiliser des alias de tables ?
Pour rendre les requêtes plus lisibles et lever les ambiguïtés entre colonnes de même nom.

Glossaire

SQL
Langage d'interrogation de bases de données relationnelles.
Jointure
Opération qui relie des tables par des clés.
Agrégat
Fonction qui résume un ensemble de lignes.
Clause
Composant d'une requête SQL.
Alias
Nom court donné à une table ou une colonne.
Valeur nulle
Absence de valeur, différente de zéro ou de texte vide.