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 ajoute de nouvelles lignes à une table ?

  1. AALTER
  2. BUPDATE
  3. CSELECT
  4. DINSERT
2.Facile

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

  1. AORDER BY salary DESC
  2. BSORT salary DOWN
  3. CORDER BY salary ASC
  4. DGROUP BY salary DESC
3.Facile

En quoi UNION ALL diffère-t-il de UNION ?

  1. AUNION ALL supprime les lignes en double
  2. BUNION ALL trie le résultat
  3. CUNION ALL ne fonctionne que sur une seule table
  4. DUNION ALL conserve les lignes en double
4.Moyen

Quelle requête renvoie le nombre de villes différentes dans la table customers ?

  1. ASELECT DISTINCT COUNT(city) FROM customers
  2. BSELECT COUNT(city) FROM customers GROUP BY city
  3. CSELECT COUNT(DISTINCT city) FROM customers
  4. DSELECT SUM(DISTINCT city) FROM customers
5.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 IS NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6.Moyen

Que renvoie SELECT SUM(amount) FROM orders lorsque la clause WHERE ne correspond à aucune ligne ?

  1. AUne erreur
  2. BNULL
  3. C0
  4. DUne chaîne vide
7.Difficile

La table employee(emp_id, dept_id, dept_name) a pour clé emp_id, et dept_id → dept_name. Quelle affirmation est correcte ?

  1. AElle est en 2NF mais pas en 3NF
  2. BElle n'est pas en 2NF
  3. CElle n'est pas en 1NF
  4. DElle est en BCNF et donc en 3NF
8.Difficile

Quelle fonction de fenêtrage attribue 1, 2, 3, ... aux lignes de chaque partition, sans ex æquo ?

  1. AROW_NUMBER()
  2. BCOUNT()
  3. CRANK()
  4. DDENSE_RANK()

Corrigé

  1. 1. D · INSERT
  2. 2. A · ORDER BY salary DESC
  3. 3. D · UNION ALL conserve les lignes en double
  4. 4. C · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  6. 6. B · NULL
  7. 7. A · Elle est en 2NF mais pas en 3NF
  8. 8. A · ROW_NUMBER()

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