Au programme de ce chapitre
- I. Le modèle relationnel : tables, clés primaires et clés étrangères
- II. Interroger une base avec SQL : SELECT, WHERE, JOIN
- III. Agréger des données : GROUP BY, COUNT et sous-requêtes
- Savoir-faire
- Exercices types corrigés
- Teste-toi — vrai ou faux ?
- Pièges fréquents et astuces
- À retenir
La définition à retenir
Un exemple corrigé
sqlite3 en Python, comporte trois tables : Auteur (id_auteur, nom, pays), Livre (id_livre, titre, annee, id_auteur) et Emprunt (id_emprunt, id_livre, emprunteur). Dans la table Livre, id_auteur est une clé étrangère qui référence Auteur.id_auteur : chaque livre est ainsi relié à son auteur sans avoir à répéter son nom et son pays dans chaque ligne.Les erreurs fréquentes à éviter
SELECT sans être une fonction d'agrégation doit figurer dans le GROUP BY : sinon, SQL ne sait pas quelle valeur afficher parmi toutes celles du groupe. Confondre WHERE (qui filtre les lignes avant le regroupement) et HAVING (qui filtre les groupes après agrégation) est une erreur classique.L'astuce du prof
Exercices corrigés
Cherche d'abord seul, puis ouvre la correction.
Exercice 1
Voir la correction
Exercice 2

