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 UNION avec les résultats de deux requêtes SELECT ?
AIl ne garde que les lignes présentes dans les deux
BIl ne garde que les lignes qui apparaissent dans la première requête mais pas dans la seconde
CIl les combine en un seul résultat et supprime les lignes en double
DIl les joint côte à côte sur une clé
2.Facile
Dans un motif LIKE, que représente le caractère générique % ?
AExactement un caractère à cette position de la chaîne
BUn chiffre quelconque
CToute suite de zéro caractère ou plus
DLa fin de la chaîne
3.Facile
Comment trier un résultat du salaire le plus élevé au plus bas ?
AORDER BY salary ASC
BGROUP BY salary DESC
CORDER BY salary DESC
DSORT salary DOWN
4.Moyen
Quelle requête liste les clients qui n'ont jamais passé de commande ?
ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.Moyen
Un LEFT JOIN renvoie :
AUniquement toutes les lignes de la table de droite
BLes lignes qui ne correspondent dans aucune des deux tables
CUniquement les lignes correspondantes des deux tables
DToutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
6.Moyen
Quelle instruction supprime toutes les lignes d'une table, conserve sa structure et n'accepte pas de clause WHERE ?
ATRUNCATE TABLE
BALTER TABLE
CDELETE FROM avec une clause WHERE
DDROP TABLE
7.Difficile
Il existe un index composé sur (last_name, first_name). Quelle condition peut l'utiliser le plus efficacement ?
AWHERE first_name = 'Eva'
BWHERE first_name LIKE '%a'
CWHERE last_name = 'Jansen'
DWHERE UPPER(first_name) = 'EVA'
8.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 ?
ALa lecture non reproductible au sein d'une transaction
BLa lecture sale
CL'écriture sale
DLe write skew (écriture biaisée)
Corrigé
1. C · Il les combine en un seul résultat et supprime les lignes en double
2. C · Toute suite de zéro caractère ou plus
3. C · ORDER BY salary DESC
4. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5. D · Toutes les lignes de la table de gauche et les lignes correspondantes de droite, avec des NULL en l'absence de correspondance
6. A · TRUNCATE TABLE
7. C · WHERE last_name = 'Jansen'
8. D · Le write skew (écriture biaisée)
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.