MYSQL Examen Corrigés
Questions & Réponse
Affichez les noms et prénoms de tous les étudiants inscrits en 2022.
Réponse:
Cette requête utilise une jointure (JOIN) pour lier les tables Etudiant et Inscription via l'ID de l'étudiant. Ensuite, elle utilise une clause WHERE pour filtrer les inscriptions de l'année 2022.
Récupérez le nom et le code de tous les cours enseignés par un enseignant spécifique, par exemple, "Dr. Smith".
Réponse:
Cette requête utilise une jointure entre les tables Cours et Enseignant sur l'ID de l'enseignant. Ensuite, elle filtre les résultats en fonction du nom de l'enseignant.
Ajoutez un nouvel étudiant nommé "John Doe" avec l'adresse "123 Main Street".
Réponse:
Cette instruction SQL utilise la commande INSERT pour ajouter une nouvelle entrée dans la table Etudiant avec le nom, le prénom et l'adresse spécifiés.
Mettez à jour le titre de l'enseignant avec l'ID 3 en "Professeur".
Réponse:
Cette requête utilise la commande UPDATE pour modifier le champ Titre de la table Enseignant pour l'enseignant avec l'ID 3.
Supprimez tous les étudiants qui n'ont pas été inscrits à un cours.
Réponse:
Cette requête utilise la commande DELETE pour supprimer les étudiants dont l'ID n'est pas présent dans la table Inscription. La sous-requête (SELECT DISTINCT ID_Etudiant FROM Inscription) récupère tous les étudiants inscrits à au moins un cours.
Affichez le nombre total d'étudiants inscrits à chaque cours.
Réponse:
Cette requête utilise la commande COUNT avec GROUP BY pour compter le nombre d'étudiants inscrits à chaque cours.
Récupérez le nom de tous les cours auxquels l'étudiant avec l'ID 1 est inscrit.
Réponse:
Cette requête utilise une jointure pour obtenir les cours auxquels l'étudiant avec l'ID 1 est inscrit.
Créez une procédure stockée qui prend en entrée le nom d'un cours et affiche le nombre d'étudiants inscrits à ce cours.
Réponse:
Cette procédure stockée prend en entrée le nom d'un cours, puis utilise une jointure avec la table Inscription pour compter le nombre d'étudiants inscrits à ce cours.
Écrivez une requête SQL pour calculer la moyenne des notes pour chaque cours.
Réponse:
Cette requête utilise la commande AVG avec GROUP BY pour calculer la moyenne des notes pour chaque cours.
Créez une fonction stockée qui prend en entrée l'ID d'un enseignant et renvoie la liste des cours qu'il enseigne.
Réponse:
Cette fonction stockée prend en entrée l'ID d'un enseignant et utilise GROUP_CONCAT pour renvoyer la liste des cours qu'il enseigne.
Écrivez une requête SQL pour trouver les étudiants avec la meilleure note dans chaque cours.
Réponse:
Cette requête utilise une jointure entre Inscription, Etudiant, et Notes pour récupérer les étudiants avec la meilleure note dans chaque cours, en utilisant la fonction MAX pour obtenir la meilleure note.
Créez une procédure stockée qui augmente la note de tous les étudiants d'un cours spécifique de 5 points.
Réponse:
Cette procédure stockée utilise la commande UPDATE pour augmenter la note de tous les étudiants dans un cours spécifique de 5 points.
Écrivez une requête SQL pour afficher les cours qui ont été enseignés par plus de deux enseignants différents.
Réponse:
Cette requête utilise la commande COUNT(DISTINCT ID_Enseignant) avec GROUP BY et HAVING pour afficher les cours enseignés par plus de deux enseignants différents.
Créez une procédure stockée qui prend en entrée l'ID d'un étudiant et renvoie son statut de réussite (réussi/échoué) pour l'année en cours.
Réponse:
Cette procédure stockée prend l'ID d'un étudiant en entrée, calcule la somme des notes et la moyenne, puis renvoie le statut de réussite en fonction de certaines conditions.
Écrivez une requête SQL pour trouver le nombre total d'inscriptions par année.
Réponse:
Cette requête utilise GROUP BY pour compter le nombre total d'inscriptions par année.
Créez une procédure stockée qui ajoute un nouvel enseignant avec un titre spécifique.
Réponse:
Cette procédure stockée utilise la commande INSERT pour ajouter un nouvel enseignant avec un nom, prénom et titre spécifiés.
Écrivez une requête SQL pour obtenir la liste distincte des adresses des étudiants.
Réponse:
Cette requête utilise DISTINCT pour obtenir une liste distincte des adresses des étudiants dans la table Etudiant.
Créez une fonction stockée qui prend en entrée l'ID d'un étudiant et renvoie le nombre total de cours auxquels il est inscrit.
Réponse:
Cette fonction stockée prend l'ID d'un étudiant en entrée et utilise COUNT pour renvoyer le nombre total de cours auxquels il est inscrit.
Écrivez une requête SQL pour afficher les trois cours les plus populaires (ceux avec le plus grand nombre d'inscriptions).
Réponse:
Cette requête utilise GROUP BY pour compter le nombre d'inscriptions par cours, ORDER BY pour les trier par ordre décroissant, et LIMIT 3 pour obtenir les trois cours les plus populaires.
Créez une procédure stockée qui prend en entrée le nom d'un étudiant et affiche la mention obtenue dans chaque cours.
Réponse:
Cette procédure stockée prend le nom d'un étudiant en entrée, utilise une jointure pour récupérer les cours et les mentions correspondantes, puis les affiche.
Écrivez une requête SQL pour mettre à jour la mention d'un étudiant lors de la suppression d'une note.
Réponse:
Ce déclencheur (trigger) est exécuté après la suppression d'une note. Il recalcule la moyenne des notes de l'étudiant concerné et met à jour la mention dans la table Inscription en fonction de cette moyenne.
Écrivez une requête SQL pour mettre à jour la moyenne générale d'un étudiant lors de la suppression d'une note.
Réponse:
Ce déclencheur recalcule la moyenne générale d'un étudiant après la suppression d'une note et met à jour cette moyenne dans la table Etudiant.
Écrivez une requête SQL pour mettre à jour le nombre d'étudiants inscrits lors de la suppression d'une inscription.
Réponse:
Ce déclencheur est déclenché après la suppression d'une inscription et met à jour le nombre d'étudiants inscrits dans un cours spécifique.
Écrivez une procédure stockée qui met à jour le nombre d'inscriptions d'un étudiant lors de la suppression de l'étudiant.
Réponse:
Cette procédure stockée est appelée lors de la suppression d'un étudiant et met à jour le nombre d'inscriptions de cet étudiant.
Écrivez une requête SQL pour afficher la liste des cours qui ont été enseignés par plus de deux enseignants différents.
Réponse:
Cette requête utilise GROUP BY et HAVING pour afficher les cours enseignés par plus de deux enseignants différents, en comptant les enseignants distincts pour chaque cours.
Créez une procédure stockée qui prend en entrée le nom d'un cours et supprime tous les étudiants inscrits à ce cours.
Réponse:
Cette procédure stockée prend le nom d'un cours en entrée, trouve l'ID correspondant à ce cours, puis supprime toutes les inscriptions liées à ce cours.
Écrivez une requête SQL pour afficher les cours auxquels aucun étudiant n'est inscrit.
Réponse:
Cette requête utilise une jointure LEFT JOIN pour obtenir tous les cours, puis utilise WHERE pour filtrer ceux auxquels aucun étudiant n'est inscrit.
Créez une procédure stockée qui met à jour le titre de tous les enseignants en ajoutant "Senior" devant leur titre actuel.
Réponse:
Cette procédure stockée utilise la fonction CONCAT pour ajouter "Senior" devant le titre actuel de tous les enseignants.
Écrivez une requête SQL pour obtenir la liste des étudiants qui sont inscrits à tous les cours.
Réponse:
Cette requête utilise une clause NOT EXISTS pour sélectionner les étudiants qui sont inscrits à tous les cours.
Créez une fonction stockée qui prend en entrée l'ID d'un étudiant et retourne le nombre de cours pour lesquels il a obtenu une note supérieure à la moyenne de ce cours.
Réponse:
Cette fonction stockée prend l'ID d'un étudiant en entrée, utilise une jointure avec la table Notes et Inscription pour compter les cours où l'étudiant a obtenu une note supérieure à la moyenne de ce cours.
Créez une procédure stockée qui attribue une mention d'honneur ("Distinction") à tous les étudiants ayant une moyenne générale supérieure à 16.
Réponse:
Cette procédure stockée utilise la commande UPDATE pour attribuer la mention "Distinction" à tous les étudiants ayant une moyenne générale supérieure à 16.
Écrivez une requête SQL pour afficher les cours qui ont été enseignés par le même enseignant pendant deux années consécutives.
Réponse:
Cette requête utilise une jointure pour lier les cours enseignés par le même enseignant pendant deux années consécutives.
Créez une fonction stockée qui prend en entrée le nom d'un enseignant et retourne le nombre total de cours qu'il a enseignés.
Réponse:
Cette fonction stockée prend le nom d'un enseignant en entrée, utilise une jointure avec la table Cours et Enseignant pour compter le nombre total de cours qu'il a enseignés.
Écrivez une requête SQL pour afficher le pourcentage d'étudiants ayant réussi chaque cours.
Réponse:
Cette requête utilise une jointure LEFT JOIN pour obtenir le nombre d'étudiants ayant réussi chaque cours et calcule le pourcentage de réussite.
Créez une procédure stockée qui supprime tous les enseignants n'ayant enseigné aucun cours.
Réponse:
Cette procédure stockée utilise la commande DELETE pour supprimer tous les enseignants qui n'ont enseigné aucun cours.