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 ?

  1. AALTER TABLE
  2. BUPDATE TABLE
  3. CINSERT COLUMN
  4. DCREATE COLUMN
2.Facile

Quel opérateur sert à une recherche simple par motif de texte dans une clause WHERE ?

  1. ASIMILAR
  2. BMATCH
  3. CCONTAINS
  4. DLIKE
3.Facile

Qu'est-ce qu'une clé primaire (primary key) ?

  1. AUne colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  2. BUn mot de passe pour la base de données
  3. CLa première colonne de chaque table
  4. 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 ?

  1. ALes alias ne peuvent pas contenir de tiret bas
  2. BWHERE ne peut comparer que des colonnes de texte
  3. CWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  4. 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 ?

  1. AJoindre la table employees à elle-même avec deux alias
  2. BCombiner la table avec elle-même au moyen de UNION ALL et d'un filtre WHERE
  3. CUtiliser uniquement GROUP BY manager_id
  4. DCréer une seconde copie de la table sur disque
6.Moyen

Que fait ROLLBACK TO SAVEPOINT s1 ?

  1. AIl annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
  2. BIl supprime le point de sauvegarde et toutes les tables modifiées depuis
  3. CIl termine la transaction et valide tout
  4. 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 ?

  1. Aname n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  2. Bdept doit figurer dans une fonction d'agrégation
  3. CCOUNT(*) ne peut pas être utilisé avec GROUP BY
  4. 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 ?

  1. A0
  2. BUne erreur
  3. CNULL
  4. D10

Corrigé

  1. 1. A · ALTER TABLE
  2. 2. D · LIKE
  3. 3. A · Une colonne ou un ensemble de colonnes qui identifie de manière unique chaque ligne
  4. 4. C · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  5. 5. A · Joindre la table employees à elle-même avec deux alias
  6. 6. A · Il annule les modifications effectuées après le point de sauvegarde s1, en gardant la transaction ouverte
  7. 7. A · name n'est ni regroupé ni agrégé, il n'a donc pas une valeur unique par groupe
  8. 8. A · 0

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