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 contrainte garantit qu'une colonne ne peut jamais rester vide (NULL) ?
AUNIQUE
BNOT NULL
CDEFAULT
DCHECK NULL
2.Facile
Quelles lignes WHERE price BETWEEN 10 AND 20 sélectionne-t-il ?
ALes lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
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 est supérieur à 10 et inférieur à 20, 10 et 20 exclus
3.Facile
GRANT et REVOKE appartiennent à quelle partie de SQL ?
ALe langage de manipulation de données (DML)
BLe langage de définition de données (DDL)
CLe langage de contrôle de données (DCL)
DLe langage d'interrogation de données (DQL)
4.Moyen
Pourquoi SELECT price * 2 AS double_price FROM t WHERE double_price > 10 échoue-t-il dans la plupart des bases de données ?
ALes alias ne peuvent pas contenir de tiret bas
BL'arithmétique n'est pas autorisée dans la liste du SELECT
CWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
DWHERE ne peut comparer que des colonnes de texte
5.Moyen
Une table employees possède une colonne manager_id qui fait référence à un autre employé. Comment lister chaque employé à côté du nom de son responsable ?
ACréer une seconde copie de la table sur disque
BUtiliser uniquement GROUP BY manager_id
CJoindre la table employees à elle-même avec deux alias
DCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
6.Moyen
Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?
ALes lignes du premier résultat absentes du second
BLes lignes présentes dans les deux résultats
CToutes les lignes des deux résultats
DLe produit cartésien des résultats
7.Difficile
Que calcule SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales ?
ALe total de tous les montants sur chaque ligne
BUne ligne par jour avec uniquement le total de ce jour
CLe montant moyen par jour
DUn total cumulé de amount, ordonné par day
8.Difficile
Les scores sont 90, 90 et 80. Quelles valeurs RANK() OVER (ORDER BY score DESC) donne-t-il ?
A1, 2, 3
B2, 2, 3
C1, 1, 3
D1, 1, 2
Corrigé
1. B · NOT NULL
2. A · Les lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
3. C · Le langage de contrôle de données (DCL)
4. C · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
5. C · Joindre la table employees à elle-même avec deux alias
6. B · Les lignes présentes dans les deux résultats
7. D · Un total cumulé de amount, ordonné par day
8. C · 1, 1, 3
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.