groupement sur la base etude.sqlite

Les exercices de cette page portent sur la base etude.sqlite dont une présentation est donnée ici.

Sommer

  1. Avec la table "aSuivi", donner la somme des notes de l'étudiant 1.
  2. Avec la table "aSuivi", donner la somme des notes au moins égales à 10 de l'étudiant 1.
  3. Avec la table "aSuivi", pour chaque cours (repéré par son identifiant), calculer la somme des notes au moins égales à 10.

Avec la table "aSuivi", donner la somme des notes de l'étudiant 1.


SELECT  sum(note) from aSuivi where id_etudiant = 1;

Avec la table "aSuivi", donner la somme des notes au moins égales à 10 de l'étudiant 1


SELECT   sum(note) from aSuivi where id_etudiant = 1 and note >= 10  ;

Avec la table "aSuivi", pour chaque cours (repéré par son identifiant), calculer la somme des notes au moins égales à 10.


SELECT   id_cours, sum(note) from aSuivi where  note >= 10  group by id_cours ;

Moyenne

  1. Avec la table "aSuivi", donner la moyenne des notes de l'étudiant 1.
  2. Avec la table "aSuivi", donner la moyenne des notes de chaque étudiant.
  3. Avec la table "aSuivi", donner la moyenne pour chaque cours.

Avec la table "aSuivi", donner la moyenne des notes de l'étudiant 1.


SELECT   avg(note) from aSuivi where  id_etudiant = 1 ;

Avec la table "aSuivi", donner la moyenne des notes de chaque étudiant.


SELECT   id_etudiant, avg(note) from aSuivi group by id_etudiant;

Avec la table "aSuivi", donner la moyenne pour chaque cours.


SELECT   id_cours  , avg(note) from aSuivi group by id_cours;

Maximum, minimum

  1. Avec la table "aSuivi", donner la note la plus basse de l'étudiant 1.
  2. Avec la table "aSuivi", donner la note la plus haute pour chaque cours.

Avec la table "aSuivi", donner la note la plus basse de l'étudiant 1.


SELECT   min(note) from aSuivi where id_etudiant = 1;

Avec la table "aSuivi", donner la note la plus haute pour chaque cours.


SELECT    id_cours, max(note) from aSuivi  group by id_cours ;

Compter

  1. Donner le nombre de personnes (table "personne")
  2. Donner le nombre de salles (table "salle").
  3. Donner le nombre de personnes (table "personne") se prénommant Alain nées après 1980.

Nombre de personnes (table "personne")


SELECT count(*) FROM personne

Nombre de salles (table "salle")


SELECT  count( distinct nom) FROM  salle

Ne pas oublier le mot clef distinct ici, sinon on compte plusieurs fois une même salle.

Nombre de personnes (table "personne") se prénommant Alain nées après 1980


SELECT count(*) FROM  personne  where prenom = "Alain" and anneeNaissance > 1980 ;

Compter (2)

  1. Pour chaque année, donner le nombre de personnes (table "personne") nées durant cette année.
  2. Pour chaque enseignant (repéré par son identifiant, table "cours"), donner le nombre de cours encadrés par cet enseignant.
  3. Pour chaque étudiant, repéré par son identifiant (table "aSuivi"), donner le nombre de cours suivis par cet étudiant.

Pour chaque année, donner le nombre de personnes (table "personne") nées durant cette année


SELECT  anneeNaissance, count(id_personne) from personne group by anneeNaissance;

Pour chaque enseignant (repéré par son identifiant, table "cours"), donner le nombre de cours encadrés par cet enseignant.


SELECT  id_enseignant, count(id_cours) from cours group by id_enseignant;

Pour chaque étudiant, repéré par son identifiant (table "aSuivi"), donner le nombre de cours suivis par cet étudiant


SELECT   id_etudiant, count(id_cours)  from aSuivi  group by id_etudiant ;