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

Quelle instruction SQL modifie les valeurs de lignes qui existent déjà ?

  1. AUPDATE
  2. BREPLACE COLUMN
  3. CINSERT
  4. DMODIFY
2.Facile

Quelle clause filtre les lignes avant le regroupement ?

  1. AWHERE
  2. BHAVING
  3. CGROUP BY
  4. DORDER BY
3.Facile

Dans un motif LIKE, que représente le caractère générique % ?

  1. ALa fin de la chaîne
  2. BUn chiffre quelconque
  3. CExactement un caractère à cette position de la chaîne
  4. DToute suite de zéro caractère ou plus
4.Moyen

La table a compte 3 lignes et la table b 4 lignes. Combien de lignes SELECT * FROM a CROSS JOIN b renvoie-t-il ?

  1. A12
  2. B7
  3. C4
  4. D3
5.Moyen

Une table stocke l'adresse du client sur chaque ligne de commande. Modifier l'adresse dans une ligne mais pas dans les autres est un exemple :

  1. AD'anomalie d'insertion
  2. BD'anomalie de mise à jour
  3. CD'anomalie de suppression
  4. DDe lecture fantôme
6.Moyen

Que renvoie EXCEPT (appelé MINUS dans Oracle) ?

  1. ALes lignes présentes dans les deux requêtes
  2. BLes lignes de la seconde requête qui n'apparaissent pas dans la première
  3. CLes lignes de la première requête qui n'apparaissent pas dans la seconde
  4. DToutes les lignes des deux requêtes, sans doublons
7.Difficile

Les scores sont 90, 90 et 80. Quelles valeurs RANK() OVER (ORDER BY score DESC) donne-t-il ?

  1. A1, 2, 3
  2. B2, 2, 3
  3. C1, 1, 2
  4. D1, 1, 3
8.Difficile

Après customers LEFT JOIN orders, pourquoi utiliser COUNT(o.id) plutôt que COUNT(*) pour compter les commandes par client ?

  1. ACOUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande
  2. BCOUNT(*) n'est pas autorisé après une jointure
  3. CCOUNT(o.id) ne compte que les clients distincts
  4. DCOUNT(*) ignore les lignes contenant des valeurs NULL

Corrigé

  1. 1. A · UPDATE
  2. 2. A · WHERE
  3. 3. D · Toute suite de zéro caractère ou plus
  4. 4. A · 12
  5. 5. B · D'anomalie de mise à jour
  6. 6. C · Les lignes de la première requête qui n'apparaissent pas dans la seconde
  7. 7. D · 1, 1, 3
  8. 8. A · COUNT(*) compte pour 1 la ligne remplie de NULL des clients sans commande

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