Aller au contenu
Télécharger l'application

Accueil › PC › Informatique

PC · Informatique · semaine 6

Jointures et agrégats en SQL

Jointures internes et autojointure, traduction des associations entre tables. Fonctions d'agrégation MIN, MAX, SUM, AVG, COUNT, GROUP BY, filtrage par HAVING et différence avec WHERE, requêtes imbriquées.

Sommaire

Le cours

Résumé en cinq points

  1. T1 JOIN T2 ON φ accole les couples de lignes qui vérifient φ\varphi. On se limite aux équi-jointures, où φ\varphi est une conjonction d'égalités, le plus souvent entre une clé étrangère et la clé primaire qu'elle référence.
  2. Une jointure interne perd les lignes sans correspondance et répète une ligne autant de fois qu'elle a de correspondances. Oublier la condition donne des combinaisons sans rapport, sans aucun message d'erreur.
  3. MIN, MAX, SUM, AVG et COUNT résument un ensemble de lignes en une valeur. Sans GROUP BY, toute la table forme un seul groupe.
  4. GROUP BY donne une ligne par groupe. Le SELECT ne contient alors que des colonnes de regroupement et des agrégats.
  5. ==WHERE filtre les lignes avant la formation des groupes.== Sa condition ne contient jamais de fonction d'agrégation.
Pourquoi ce chapitre

Une base bien conçue éparpille l'information dans plusieurs tables reliées par des clés :

  • le nom d'un élève est dans une table ;
  • ses notes dans une autre ;
  • l'intitulé des matières dans une troisième.

Pour répondre à une question réelle, il faut recoller ces morceaux. C'est le rôle de la jointure.

Il faut ensuite souvent résumer :

  • une moyenne ;
  • un maximum ;
  • un effectif par groupe.

C'est le rôle des agrégats. Ce chapitre fait passer des requêtes sur une table à des requêtes qui traitent de vraies questions.

Fin de l'aperçu gratuit

Encore 12 parties de cours.

Essayer 7 jours gratuitement Sans engagement · cours, exercices et fiches complets

Fiche de cours rédigée à partir du programme officiel d'informatique commune des filières MP, PC, PSI et PT (2021), troisième semestre, partie 3.1 « Bases de données », et du programme d'informatique de BCPST (2021), partie 2.2 « Bases de données » et son approfondissement en seconde année.