Fiche d’exercices de Bases de données et SQL avec corrigé

Fiche d’exercices de Bases de données et SQL gratuite et imprimable : 8 exercices, du niveau facile au niveau examen, avec corrigé. Imprimez-la ou enregistrez-la en PDF.

Pour les enseignants : gratuite à imprimer, copier et utiliser en classe. Chaque nouvelle fiche a de nouvelles valeurs et son propre corrigé. Un lien vers ExamProblems sur la page de votre cours est apprécié.

Nom: ____________________   Date: ____________

1.Facile

Que fait GROUP BY dans une requête ?

  1. AIl joint deux tables sur leurs colonnes communes
  2. BIl supprime les lignes contenant des valeurs NULL
  3. CIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  4. DIl trie les lignes du résultat par ordre alphabétique
2.Facile

Un INNER JOIN renvoie :

  1. ALes lignes qui ne correspondent pas
  2. BToutes les lignes des deux tables
  3. CUniquement les lignes ayant des valeurs correspondantes dans les deux tables
  4. DToutes les lignes de la table de gauche, avec des NULL là où il n'y a pas de correspondance
3.Facile

Que fait une contrainte CHECK ?

  1. AElle rejette les lignes dont les valeurs ne satisfont pas une condition
  2. BElle vérifie si une table existe avant qu'une requête lui soit appliquée
  3. CElle compte les lignes d'une table
  4. DElle vérifie le mot de passe de l'utilisateur
4.Moyen

Un LEFT JOIN renvoie :

  1. AToutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
  2. BLes lignes qui ne correspondent dans aucune des deux tables
  3. CUniquement les lignes correspondantes des deux tables
  4. DUniquement toutes les lignes de la table de droite
5.Moyen

Que fait GRANT SELECT ON employees TO alice ?

  1. AIl fait d'alice la propriétaire de la base de données
  2. BIl autorise l'utilisatrice alice à lire la table employees
  3. CIl copie la table employees pour alice
  4. DIl autorise alice à modifier et à supprimer des lignes de la table employees
6.Moyen

Quelle requête renvoie le salaire le plus élevé de chaque service ?

  1. ASELECT MAX(dept), salary FROM emp GROUP BY salary
  2. BSELECT dept, salary FROM emp WHERE salary = MAX(salary)
  3. CSELECT dept, MAX(salary) FROM emp GROUP BY dept
  4. DSELECT dept, MAX(salary) FROM emp ORDER BY dept
7.Difficile

Que renvoie la requête suivante : SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students) ?

  1. ALa note moyenne de tous les étudiants
  2. BLes étudiants dont la note est supérieure à la note moyenne
  3. CUne erreur, car les sous-requêtes ne sont pas autorisées dans WHERE
  4. DUniquement les étudiants ayant la note la plus élevée
8.Difficile

Pourquoi une requête avec WHERE YEAR(order_date) = 2025 pourrait-elle ne pas utiliser un index sur order_date ?

  1. AUn index sur order_date n'est utilisé que pour les clauses ORDER BY, jamais pour WHERE
  2. BYEAR n'est pas du SQL valide
  3. CLes index ne fonctionnent jamais avec des dates
  4. DAppliquer une fonction à la colonne empêche une simple recherche par plage dans l'index

Corrigé

  1. 1. C · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  2. 2. C · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
  3. 3. A · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
  4. 4. A · Toutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
  5. 5. B · Il autorise l'utilisatrice alice à lire la table employees
  6. 6. C · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  7. 7. B · Les étudiants dont la note est supérieure à la note moyenne
  8. 8. D · Appliquer une fonction à la colonne empêche une simple recherche par plage dans l'index

Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.