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 ajoute une nouvelle colonne à une table existante ?
AALTER TABLE
BUPDATE TABLE
CINSERT COLUMN
DCREATE COLUMN
2.Facile
Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?
ASIMILAR
BMATCH
CCONTAINS
DLIKE
3.Facile
Qu'est-ce qu'une clé primaire (primary key) ?
AUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
BUn mot de passe pour la base de données
CLa première colonne de chaque table
DUne colonne qui peut contenir des doublons mais ne doit jamais contenir NULL
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
BWHERE ne peut comparer que des colonnes de texte
CWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
DL'arithmétique n'est pas autorisée dans la liste du SELECT
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 ?
AJoindre la table employees à elle-même avec deux alias
BCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
CUtiliser uniquement GROUP BY manager_id
DCréer une seconde copie de la table sur disque
6.Moyen
Que fait ROLLBACK TO SAVEPOINT s1 ?
AIl annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
BIl supprime le point de sauvegarde et toutes les tables modifiées depuis
CIl termine la transaction et valide tout
DIl annule toute la transaction depuis le début
7.Difficile
Pourquoi SELECT dept, name, COUNT(*) FROM emp GROUP BY dept est-il invalide en SQL standard ?
Aname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
Bdept doit figurer dans une fonction d'agrégation
CCOUNT(*) ne peut pas être utilisé avec GROUP BY
DGROUP BY doit lister toutes les colonnes de la table
8.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 ?
A0
BUne erreur
CNULL
D10
Corrigé
1. A · ALTER TABLE
2. D · LIKE
3. A · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
4. C · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
5. A · Joindre la table employees à elle-même avec deux alias
6. A · Il annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
7. A · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
8. A · 0
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.