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
Un INNER JOIN renvoie :
AUniquement les lignes ayant des valeurs correspondantes dans les deux tables
BLes lignes qui ne correspondent pas
CToutes les lignes des deux tables
DToutes les lignes de la table de gauche, avec des NULL là où il n'y a pas de correspondance
2.Facile
Quelles lignes WHERE price BETWEEN 10 AND 20 sélectionne-t-il ?
ALes lignes dont le prix est supérieur à 10 et inférieur à 20, 10 et 20 exclus
BUniquement les lignes dont le prix est égal à 10 ou à 20
CLes lignes dont le prix est en dehors de l'intervalle de 10 à 20
DLes lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
3.Facile
Que fait UNION avec les résultats de deux requêtes SELECT ?
AIl les joint côte à côte sur une clé
BIl les combine en un seul résultat et supprime les lignes en double
CIl ne garde que les lignes qui apparaissent dans la première requête mais pas dans la seconde
DIl ne garde que les lignes présentes dans les deux
4.Moyen
Quelle requête renvoie le nombre de villes différentes dans la table customers ?
ASELECT DISTINCT COUNT(city) FROM customers
BSELECT SUM(DISTINCT city) FROM customers
CSELECT COUNT(DISTINCT city) FROM customers
DSELECT COUNT(city) FROM customers GROUP BY city
5.Moyen
Pourquoi crée-t-on des index sur des colonnes ?
APour empêcher les valeurs NULL
BPour rendre les insertions et les mises à jour plus rapides sur ces colonnes
CPour accélérer les recherches et les jointures sur ces colonnes
DPour économiser de l'espace disque
6.Moyen
Qu'est-ce qu'une lecture sale (dirty read) ?
ALa lecture de données sans clause WHERE
BLa lecture de données sur un disque corrompu
CLa lecture de données écrites par une autre transaction qui n'a pas encore été validée
DLa lecture d'une même ligne deux fois avec la même valeur
7.Difficile
Quelle fonctionnalité SQL convient le mieux pour trouver tous les employés sous un responsable dans un organigramme de profondeur inconnue ?
AUn GROUP BY sur manager_id
BUne contrainte UNIQUE sur manager_id
CUne seule auto-jointure de la table employees sur manager_id
DUne expression de table commune récursive (WITH RECURSIVE)
8.Difficile
Que montre EXPLAIN (ou EXPLAIN ANALYZE dans PostgreSQL) pour une requête ?
AUniquement une réécriture de la requête en notation d'algèbre relationnelle
BLe plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
CLa signification de chaque mot-clé SQL de la requête
DLa liste des utilisateurs qui ont exécuté la requête
Corrigé
1. A · Uniquement les lignes ayant des valeurs correspondantes dans les deux tables
2. D · Les lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
3. B · Il les combine en un seul résultat et supprime les lignes en double
4. C · SELECT COUNT(DISTINCT city) FROM customers
5. C · Pour accélérer les recherches et les jointures sur ces colonnes
6. C · La lecture de données écrites par une autre transaction qui n'a pas encore été validée
7. D · Une expression de table commune récursive (WITH RECURSIVE)
8. B · Le plan d'exécution choisi par l'optimiseur, comme les parcours et les méthodes de jointure
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.