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
Dans PostgreSQL et MySQL, quelle clause renvoie uniquement les 10 premières lignes d'un résultat ?
AMAX 10
BLIMIT 10
CFIRST 10 ONLY
DTOP ROWS 10
2.Facile
Quel mot-clé trie le résultat d'une requête ?
ASORT
BORDER BY
CARRANGE
DGROUP BY
3.Facile
Des instructions comme CREATE, ALTER et DROP appartiennent à quelle partie de SQL ?
ALe langage de manipulation de données (DML)
BLe langage de contrôle des transactions (TCL)
CLe langage de contrôle de données (DCL)
DLe langage de définition de données (DDL)
4.Moyen
Que renvoie EXCEPT (appelé MINUS dans Oracle) ?
ALes lignes présentes dans les deux requêtes
BToutes les lignes des deux requêtes, sans doublons
CLes lignes de la seconde requête qui n'apparaissent pas dans la première
DLes lignes de la première requête qui n'apparaissent pas dans la seconde
5.Moyen
Que signifie la dépendance fonctionnelle A → B ?
AChaque valeur de A est associée à exactement une valeur de B
BA et B sont toutes deux des clés primaires
CChaque valeur de B est associée à exactement une valeur de A
DA est une clé étrangère qui fait référence à B
6.Moyen
En algèbre relationnelle, l'opérateur de sélection (σ) correspond à quelle clause SQL ?
ALa liste du SELECT
BWHERE
CORDER BY
DGROUP BY
7.Difficile
La requête FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' élimine de façon inattendue les clients sans commande. Pourquoi ?
ALEFT JOIN ne conserve jamais les lignes sans correspondance
BLa condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
CLa jointure devrait utiliser USING au lieu de ON
Dstatus est un mot réservé
8.Difficile
Que renvoie SELECT name, dept, AVG(salary) OVER (PARTITION BY dept) FROM emp ?
AUne ligne par service avec son salaire moyen
BChaque ligne d'employé accompagnée du salaire moyen de son service
CUniquement les employés qui gagnent plus que la moyenne de leur service
DUne erreur, car name ne figure pas dans un GROUP BY
Corrigé
1. B · LIMIT 10
2. B · ORDER BY
3. D · Le langage de définition de données (DDL)
4. D · Les lignes de la première requête qui n'apparaissent pas dans la seconde
5. A · Chaque valeur de A est associée à exactement une valeur de B
6. B · WHERE
7. B · La condition WHERE sur o rejette les lignes remplies de NULL, ce qui en fait une jointure interne
8. B · Chaque ligne d'employé accompagnée du salaire moyen de son service
Corrigés complets pas à pas : entraînez-vous sur ce thème sur examproblems.com.