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

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 supérieur à 10 et inférieur à 20, 10 et 20 exclus
  4. DLes lignes dont le prix est en dehors de l'intervalle de 10 à 20
2.Facile

Que fait une contrainte CHECK ?

  1. AElle rejette les lignes dont les valeurs ne satisfont pas une condition
  2. BElle vérifie si une table existe avant qu'une requête lui soit appliquée
  3. CElle compte les lignes d'une table
  4. DElle vérifie le mot de passe de l'utilisateur
3.Facile

Que fait GROUP BY dans une requête ?

  1. AIl trie les lignes du résultat par ordre alphabétique
  2. BIl supprime les lignes contenant des valeurs NULL
  3. CIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  4. DIl joint deux tables sur leurs colonnes communes
4.Moyen

Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?

  1. ALes lignes présentes dans les deux résultats
  2. BToutes les lignes des deux résultats
  3. CLes lignes du premier résultat absentes du second
  4. DLe produit cartésien des résultats
5.Moyen

En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?

  1. ALa liste du SELECT
  2. BGROUP BY
  3. CWHERE
  4. DORDER BY
6.Moyen

Quelle requête liste les clients qui n'ont jamais passé de commande ?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  3. CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
7.Difficile

Une sous-requête corrélée est une sous-requête qui :

  1. AS'exécute une seule fois avant la requête externe et met son résultat en cache pour chaque ligne
  2. BN'utilise que des fonctions d'agrégation
  3. CFait référence à des colonnes de la requête externe et est évaluée pour chaque ligne externe
  4. DJoint deux tables avec une clé étrangère
8.Difficile

Quelle fonction de fenêtrage attribue 1, 2, 3, ... aux lignes de chaque partition, sans ex æquo ?

  1. ARANK()
  2. BDENSE_RANK()
  3. CROW_NUMBER()
  4. DCOUNT()

Corrigé

  1. 1. A · Les lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
  2. 2. A · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
  3. 3. C · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
  4. 4. A · Les lignes présentes dans les deux résultats
  5. 5. C · WHERE
  6. 6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  7. 7. C · Fait référence à des colonnes de la requête externe et est évaluée pour chaque ligne externe
  8. 8. C · ROW_NUMBER()

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