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 permet de récupérer des données d'une table ?
AINSERT
BCREATE
CUPDATE
DSELECT
2.Facile
Quelle fonction d'agrégation renvoie la moyenne d'une colonne numérique ?
ASUM
BAVG
CMEDIAN
DMEAN
3.Facile
Dans un motif LIKE, que représente le caractère générique _ (tiret bas) ?
AExactement un caractère
BZéro caractère ou plus
CUn caractère espace
DUne lettre quelconque, mais pas un chiffre
4.Moyen
Quelle requête renvoie le nombre de commandes par client ?
ASELECT DISTINCT COUNT(*) FROM orders
BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
CSELECT customer_id FROM orders WHERE COUNT(*) > 0
DSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
5.Moyen
Une table employees possède une colonne manager_id qui fait référence à un autre employé. Comment lister chaque employé à côté du nom de son responsable ?
AUtiliser uniquement GROUP BY manager_id
BCréer une seconde copie de la table sur disque
CJoindre la table employees à elle-même avec deux alias
DCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
6.Moyen
La table orders compte 5 lignes, chacune faisant référence à un client existant. La table customers compte 3 lignes. Combien de lignes un INNER JOIN sur customer_id renvoie-t-il ?
A8
B15
C3
D5
7.Difficile
Pourquoi de nombreux SGBD utilisent-ils le verrouillage à deux phases strict, en gardant les verrous exclusifs jusqu'à la validation ?
AIl permet aux transactions de lire des données sales sans risque
BIl rend les interblocages impossibles
CIl empêche les annulations en cascade, car personne ne peut lire des écritures non validées
DIl supprime le besoin d'un journal des transactions
8.Difficile
Quelle fonction de fenêtrage attribue 1, 2, 3, ... aux lignes de chaque partition, sans ex æquo ?
ARANK()
BDENSE_RANK()
CROW_NUMBER()
DCOUNT()
Corrigé
1. D · SELECT
2. B · AVG
3. A · Exactement un caractère
4. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
5. C · Joindre la table employees à elle-même avec deux alias
6. D · 5
7. C · Il empêche les annulations en cascade, car personne ne peut lire des écritures non validées
8. C · ROW_NUMBER()
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.