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

Une clé étrangère (foreign key) est :

  1. AUne clé toujours chiffrée
  2. BUne colonne qui fait référence à la clé primaire d'une autre table
  3. CUne clé utilisée par des utilisateurs étrangers
  4. DUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
2.Facile

Que fait une contrainte CHECK ?

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

Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?

  1. ASIMILAR
  2. BMATCH
  3. CLIKE
  4. DCONTAINS
4.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, MAX(salary) FROM emp ORDER BY dept
  3. CSELECT dept, salary FROM emp WHERE salary = MAX(salary)
  4. DSELECT dept, MAX(salary) FROM emp GROUP BY dept
5.Moyen

Qu'est-ce qu'une injection SQL ?

  1. AUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
  2. BUne technique de sauvegarde de base de données
  3. CUne attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
  4. DUn moyen d'ajouter des index
6.Moyen

Un LEFT JOIN renvoie :

  1. ALes lignes qui ne correspondent dans aucune des deux tables
  2. BUniquement les lignes correspondantes des deux tables
  3. CUniquement toutes les lignes de la table de droite
  4. DToutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
7.Difficile

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

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

Que renvoie un FULL OUTER JOIN ?

  1. AUniquement les lignes sans correspondance
  2. BUniquement les lignes correspondantes
  3. CToutes les lignes des deux tables, appariées si possible et complétées par des NULL sinon
  4. DLe produit cartésien, qui associe chaque ligne d'une table à toutes les lignes de l'autre

Corrigé

  1. 1. B · Une colonne qui fait référence à la clé primaire d'une autre table
  2. 2. B · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
  3. 3. C · LIKE
  4. 4. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  5. 5. C · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
  6. 6. D · Toutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
  7. 7. B · Appliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
  8. 8. C · Toutes les lignes des deux tables, appariées si possible et complétées par des NULL sinon

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