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 ?
AALTER
BUPDATE
CSELECT
DINSERT
2.Facile
Comment trier un résultat du salaire le plus élevé au plus bas ?
AORDER BY salary DESC
BSORT salary DOWN
CORDER BY salary ASC
DGROUP BY salary DESC
3.Facile
En quoi UNION ALL diffère-t-il de UNION ?
AUNION ALL supprime les lignes en double
BUNION ALL trie le résultat
CUNION ALL ne fonctionne que sur une seule table
DUNION ALL conserve les lignes en double
4.Moyen
Quelle requête renvoie le nombre de villes différentes dans la table customers ?
ASELECT DISTINCT COUNT(city) FROM customers
BSELECT COUNT(city) FROM customers GROUP BY city
CSELECT COUNT(DISTINCT city) FROM customers
DSELECT SUM(DISTINCT city) FROM customers
5.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 IS NULL
BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
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 ?
AUne erreur
BNULL
C0
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 ?
AElle est en 2NF mais pas en 3NF
BElle n'est pas en 2NF
CElle n'est pas en 1NF
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 ?
AROW_NUMBER()
BCOUNT()
CRANK()
DDENSE_RANK()
Corrigé
1. D · INSERT
2. A · ORDER BY salary DESC
3. D · UNION ALL conserve les lignes en double
4. C · SELECT COUNT(DISTINCT city) FROM customers
5. A · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
6. B · NULL
7. A · Elle est en 2NF mais pas en 3NF
8. A · ROW_NUMBER()
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.