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 ?
ALes lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
BUniquement les lignes dont le prix est égal à 10 ou à 20
CLes lignes dont le prix est supérieur à 10 et inférieur à 20, 10 et 20 exclus
DLes lignes dont le prix est en dehors de l'intervalle de 10 à 20
2.Facile
Que fait une contrainte CHECK ?
AElle rejette les lignes dont les valeurs ne satisfont pas une condition
BElle vérifie si une table existe avant qu'une requête lui soit appliquée
CElle compte les lignes d'une table
DElle vérifie le mot de passe de l'utilisateur
3.Facile
Que fait GROUP BY dans une requête ?
AIl trie les lignes du résultat par ordre alphabétique
BIl supprime les lignes contenant des valeurs NULL
CIl regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
DIl joint deux tables sur leurs colonnes communes
4.Moyen
Que renvoie INTERSECT utilisé entre deux requêtes SELECT ?
ALes lignes présentes dans les deux résultats
BToutes les lignes des deux résultats
CLes lignes du premier résultat absentes du second
DLe produit cartésien des résultats
5.Moyen
En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?
ALa liste du SELECT
BGROUP BY
CWHERE
DORDER BY
6.Moyen
Quelle requête liste les clients qui n'ont jamais passé de commande ?
ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
CSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
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 :
AS'exécute une seule fois avant la requête externe et met son résultat en cache pour chaque ligne
BN'utilise que des fonctions d'agrégation
CFait référence à des colonnes de la requête externe et est évaluée pour chaque ligne externe
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 ?
ARANK()
BDENSE_RANK()
CROW_NUMBER()
DCOUNT()
Corrigé
1. A · Les lignes dont le prix va de 10 à 20, bornes 10 et 20 incluses
2. A · Elle rejette les lignes dont les valeurs ne satisfont pas une condition
3. C · Il regroupe les lignes ayant les mêmes valeurs pour calculer les agrégats par groupe
4. A · Les lignes présentes dans les deux résultats
5. C · WHERE
6. B · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
7. C · Fait référence à des colonnes de la requête externe et est évaluée pour chaque ligne externe
8. C · ROW_NUMBER()
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.