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
Une clé étrangère (foreign key) est :
AUne colonne dont les valeurs doivent être uniques sur toutes les lignes de la table
BUne clé utilisée par des utilisateurs étrangers
CUne colonne qui fait référence à la clé primaire d'une autre table
DUne clé toujours chiffrée
2.Facile
Quel mot-clé SQL supprime les lignes en double d'un résultat ?
AUNIQUE
BDISTINCT
CDIFFERENT
DSINGLE
3.Facile
Que fait WHERE country IN ('NL', 'BE', 'DE') ?
AIl conserve les lignes dont le pays n'est pas dans la liste
BIl trie les lignes dans l'ordre de la liste
CIl conserve les lignes dont la valeur de country contient les trois codes à la fois
DIl conserve les lignes dont le pays est égal à l'une des valeurs de la liste
4.Moyen
Une table contient des lignes où col est NULL. Quelles lignes WHERE col = NULL renvoie-t-il ?
AAucune ligne, car la comparaison est inconnue
BUne erreur dans toutes les bases de données
CToutes les lignes de la table
DUniquement les lignes où col est NULL, comme avec IS NULL
5.Moyen
Quand WHERE EXISTS (sous-requête) est-il vrai pour une ligne ?
AQuand la sous-requête ne renvoie aucune valeur NULL
BQuand la sous-requête renvoie au moins une ligne
CQuand la sous-requête renvoie un nombre supérieur à zéro
DQuand la sous-requête renvoie exactement une ligne
6.Moyen
En algèbre relationnelle, l'opérateur de projection (π) correspond :
AAu tri du résultat
BÀ la combinaison de deux tables sur une clé
CAu choix des lignes qui satisfont une condition donnée
DAu choix des colonnes qui apparaissent dans le résultat
7.Difficile
Quel est le résultat de SELECT COUNT(col) FROM t si toutes les valeurs de col sont NULL et que la table contient 10 lignes ?
ANULL
B10
CUne erreur
D0
8.Difficile
Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?
AGROUP BY doit lister toutes les colonnes de la table
Bdept doit figurer dans une fonction d'agrégation
CCOUNT(*) ne peut pas être utilisé avec GROUP BY
Dname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Corrigé
1. C · Une colonne qui fait référence à la clé primaire d'une autre table
2. B · DISTINCT
3. D · Il conserve les lignes dont le pays est égal à l'une des valeurs de la liste
4. A · Aucune ligne, car la comparaison est inconnue
5. B · Quand la sous-requête renvoie au moins une ligne
6. D · Au choix des colonnes qui apparaissent dans le résultat
7. D · 0
8. D · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.