Aller au contenu
Télécharger l'application

Accueil › BCPST › Informatique

BCPST2 · Informatique · semaine 22

Bases de données : jointures, agrégats et requêtes imbriquées

Jointures sur plusieurs tables et associations entre entités, agrégation, requêtes imbriquées. Différence entre WHERE et HAVING.

Sommaire

Ton programme de BCPST2 : ce chapitre est traité par Jointures et agrégats en SQL (PC).

Hors programme en BCPST2, donc pas exigible :

  • Autojointure

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.