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 ?

  1. AIl ne garde que les lignes présentes dans les deux
  2. BIl ne garde que les lignes qui apparaissent dans la première requête mais pas dans la seconde
  3. CIl les combine en un seul résultat et supprime les lignes en double
  4. 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 % ?

  1. AExactement un caractère à cette position de la chaîne
  2. BUn chiffre quelconque
  3. CToute suite de zéro caractère ou plus
  4. DLa fin de la chaîne
3.Facile

Comment trier un résultat du salaire le plus élevé au plus bas ?

  1. AORDER BY salary ASC
  2. BGROUP BY salary DESC
  3. CORDER BY salary DESC
  4. DSORT salary DOWN
4.Moyen

Quelle requête liste les clients qui n'ont jamais passé de commande ?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  3. CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. 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 :

  1. AUniquement toutes les lignes de la table de droite
  2. BLes lignes qui ne correspondent dans aucune des deux tables
  3. CUniquement les lignes correspondantes des deux tables
  4. 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 ?

  1. ATRUNCATE TABLE
  2. BALTER TABLE
  3. CDELETE FROM avec une clause WHERE
  4. DDROP TABLE
7.Difficile

Il existe un index composé sur (last_name, first_name). Quelle condition peut l'utiliser le plus efficacement ?

  1. AWHERE first_name = 'Eva'
  2. BWHERE first_name LIKE '%a'
  3. CWHERE last_name = 'Jansen'
  4. 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 ?

  1. ALa lecture non reproductible au sein d'une transaction
  2. BLa lecture sale
  3. CL'écriture sale
  4. DLe write skew (écriture biaisée)

Corrigé

  1. 1. C · Il les combine en un seul résultat et supprime les lignes en double
  2. 2. C · Toute suite de zéro caractère ou plus
  3. 3. C · ORDER BY salary DESC
  4. 4. D · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 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. 6. A · TRUNCATE TABLE
  7. 7. C · WHERE last_name = 'Jansen'
  8. 8. D · Le write skew (écriture biaisée)

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