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 WHERE country IN ('NL', 'BE', 'DE') ?
AIl conserve les lignes dont la valeur de country contient les trois codes à la fois
BIl conserve les lignes dont le pays n'est pas dans la liste
CIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
DIl trie les lignes dans l'ordre de la liste
2.Facile
Que fait une contrainte CHECK ?
AElle compte les lignes d'une table
BElle vérifie si une table existe avant qu'une requête lui soit appliquée
CElle vérifie le mot de passe de l'utilisateur
DElle rejette les lignes dont les valeurs ne satisfont pas une condition
3.Facile
Dans un motif LIKE, que représente le caractère générique % ?
AUn chiffre quelconque
BLa fin de la chaîne
CExactement un caractère à cette position de la chaîne
DToute suite de zéro caractère ou plus
4.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 ?
AJoindre la table employees à elle-même avec deux alias
BCréer une seconde copie de la table sur disque
CCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
DUtiliser uniquement GROUP BY manager_id
5.Moyen
Qu'est-ce qu'une injection SQL ?
AUn moyen d'ajouter des index
BUne technique de sauvegarde de base de données
CUne technique pour insérer rapidement de nombreuses lignes avec une seule instruction INSERT
DUne attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6.Moyen
Quelle affirmation sur HAVING est correcte ?
AElle ne peut pas être utilisée avec GROUP BY
BElle doit figurer avant WHERE dans l'instruction SELECT
CElle peut utiliser des fonctions d'agrégation pour filtrer les groupes
DElle trie les résultats
7.Difficile
Quel niveau d'isolation empêche les lectures sales (dirty reads) mais autorise encore les lectures non répétables ?
ARepeatable read
BRead uncommitted
CSerializable
DRead committed
8.Difficile
Pourquoi une requête avec WHERE YEAR(order_date) = 2025 pourrait-elle ne pas utiliser un index sur order_date ?
AYEAR n'est pas du SQL valide
BAppliquer une fonction à la colonne empêche une simple recherche par plage dans l'index
CUn index sur order_date n'est utilisé que pour les clauses ORDER BY, jamais pour WHERE
DLes index ne fonctionnent jamais avec des dates
Corrigé
1. C · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
2. D · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
3. D · Toute suite de zéro caractère ou plus
4. A · Joindre la table employees à elle-même avec deux alias
5. D · Une attaque dans laquelle une saisie utilisateur modifie la structure d'une requête SQL
6. C · Elle peut utiliser des fonctions d'agrégation pour filtrer les groupes
7. D · Read committed
8. B · 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.