TP⚓︎
Objectif du TP
travailler sur la manipulation des données à l'aide d'un langage de requêtes AVEC Jointure.
Télécharger fichier Création de la base
Crédit
Adaptation d'un TP SIO de Stéphane Guyon
Schéma conceptuel "en intention" :⚓︎
REALISATEUR (idrealisateur, nom, prenom, date_naissance, #nation)
FILM (idFilm, titre, annee, genre, sortie, recettes, idrealisateur, "idnation")
NATION (idnation, )
Modèle Physique des données⚓︎
Q1
afficher le titre des films réalisés par George Lucas.
SELECT Film.titre, Realisateur.nom
FROM Film INNER JOIN Realisateur
ON Film.idrealisateur = Realisateur.idrealisateur
WHERE Realisateur.nom = 'Lucas';
Q2
afficher le titre et le nom des réalisateurs des films « Harry Potter »
SELECT Film.titre, Realisateur.nom
FROM Film INNER JOIN Realisateur
ON Film.idrealisateur = Realisateur.idrealisateur
WHERE Film.titre LIKE 'Harry%';
Q3
afficher le nombre de film par nation
SELECT COUNT(*) as nombre, nation.nation
FROM Film INNER JOIN Realisateur
ON Film.idrealisateur = Realisateur.idrealisateur
INNER JOIN nation
ON realisateur.nation = nation.idnation
GROUP BY nation.idnation
Q4
afficher le titre et le nom du réalisateur du film réalisé par le réalisateur mexicain
SELECT Film.titre, Realisateur.nom
FROM Film INNER JOIN Realisateur
ON Film.idrealisateur = Realisateur.idrealisateur
INNER JOIN nation
ON realisateur.nation = nation.idnation
HERE nation.nation = 'Mexique'
Q5
afficher les différentes nationalité des réalisateurs
SELECT DISTINCT nation.nation
FROM nation INNER JOIN realisateur
ON nation.idnation = realisateur.nation ;
Q6
Qui est le réalisateur du film « 2012 » ?
SELECT Film.titre, Realisateur.nom
FROM Film INNER JOIN Realisateur
ON Film.idrealisateur = Realisateur.idrealisateur
WHERE Film.titre = '2012';
Q7
afficher le nom et la date de naissance des réalisateurs qui ont moins de 55 ans . ( essayer dans un premier temps de trouver comment afficher l'année en cours)
SELECT Realisateur.nom
FROM Realisateur
WHERE ( YEAR(NOW()) - YEAR(Realisateur.date_naissance) ) <= 55;
Q8
afficher les réalisateurs et la somme des recettes générées par leurs films classés par ordre décroissant des recettes ?
SELECT SUM(Film.recettes) as recettes, Realisateur.nom
FROM Film INNER JOIN Realisateur
ON Film.idrealisateur = Realisateur.idrealisateur
GROUP BY Realisateur.nom
ORDER BY recettes DESC