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) ?

  1. AUNIQUE
  2. BNOT NULL
  3. CDEFAULT
  4. DCHECK NULL
2.Facile

Quelles lignes WHERE price BETWEEN 10 AND 20 sélectionne-t-il ?

  1. ALes lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
  2. BUniquement les lignes dont le prix est égal à 10 ou à 20
  3. CLes lignes dont le prix est en dehors de l'intervalle de 10 à 20
  4. 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 ?

  1. ALe langage de manipulation de données (DML)
  2. BLe langage de définition de données (DDL)
  3. CLe langage de contrôle de données (DCL)
  4. 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 ?

  1. ALes alias ne peuvent pas contenir de tiret bas
  2. BL'arithmétique n'est pas autorisée dans la liste du SELECT
  3. CWHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  4. 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 ?

  1. ACréer une seconde copie de la table sur disque
  2. BUtiliser uniquement GROUP BY manager_id
  3. CJoindre la table employees à elle-même avec deux alias
  4. 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 ?

  1. ALes lignes du premier résultat absentes du second
  2. BLes lignes présentes dans les deux résultats
  3. CToutes les lignes des deux résultats
  4. DLe produit cartésien des résultats
7.Difficile

Que calcule SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales ?

  1. ALe total de tous les montants sur chaque ligne
  2. BUne ligne par jour avec uniquement le total de ce jour
  3. CLe montant moyen par jour
  4. 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 ?

  1. A1, 2, 3
  2. B2, 2, 3
  3. C1, 1, 3
  4. D1, 1, 2

Corrigé

  1. 1. B · NOT NULL
  2. 2. A · Les lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
  3. 3. C · Le langage de contrôle de données (DCL)
  4. 4. C · WHERE est évalué avant la liste du SELECT, donc l'alias n'existe pas encore
  5. 5. C · Joindre la table employees à elle-même avec deux alias
  6. 6. B · Les lignes présentes dans les deux résultats
  7. 7. D · Un total cumulé de amount, ordonné par day
  8. 8. C · 1, 1, 3

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