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

Quel mot-clé trie le résultat d'une requête ?

  1. AARRANGE
  2. BORDER BY
  3. CSORT
  4. DGROUP BY
3.Facile

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

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

Une colonne contient les valeurs 10, 20 et NULL. Que renvoie AVG(col) ?

  1. A15
  2. B30
  3. C10
  4. DNULL
5.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
6.Moyen

Quand WHERE EXISTS (sous-requête) est-il vrai pour une ligne ?

  1. AQuand la sous-requête renvoie au moins une ligne
  2. BQuand la sous-requête ne renvoie aucune valeur NULL
  3. CQuand la sous-requête renvoie exactement une ligne
  4. DQuand la sous-requête renvoie un nombre supérieur à zéro
7.Difficile

Deux médecins de garde vérifient chacun que l'autre est encore de garde, puis se désinscrivent tous les deux en même temps. Quelle anomalie l'isolation par instantané (snapshot isolation) peut-elle encore permettre ici ?

  1. ALa lecture sale
  2. BL'écriture sale
  3. CLa lecture non reproductible au sein d'une transaction
  4. DLe write skew (écriture biaisée)
8.Difficile

La requête FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' élimine de façon inattendue les clients sans commande. Pourquoi ?

  1. Astatus est un mot réservé
  2. BLa jointure devrait utiliser USING au lieu de ON
  3. CLEFT JOIN ne conserve jamais les lignes sans correspondance
  4. DLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne

Corrigé

  1. 1. C · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  2. 2. B · ORDER BY
  3. 3. C · Une colonne qui fait référence à la clé primaire d'une autre table
  4. 4. A · 15
  5. 5. D · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  6. 6. A · Quand la sous-requête renvoie au moins une ligne
  7. 7. D · Le write skew (écriture biaisée)
  8. 8. D · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne

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