Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Pratique de MySQL et PHP- P86:Quand la première édition de ce livre est parue, en janvier 2001, la réputation de MySQL et de PHP était déjà bien établie. Ces deux outils étaient connus pour être fiables, performants, pratiques et bien adaptés à une utilisation très spécialisée : la production dynamique de pages HTML. | 10.2 Jointures 403 mysql SELECT al.nom a2.nom - FROM Artiste al Artiste a2 - WHERE a1.annee_naissance a2.annee_naissance ------------ -------- nom nom Eastwood Eastwood Hackman Eastwood Eastwood Hackman Hackman Hackman Pialat Pialat Kurosawa Kurosawa Le résultat obtenu est techniquement correct mais cela ne nous intéresse pas de savoir qu un artiste est né la même année que lui-même ou d avoir les paires Hackman Eastwood puis Eastwood Hackman . Pour éliminer les lignes inutiles il suffit d enrichir un peu la clause WHERE. mysql SELECT al.nom a2.nom - FROM Artiste a1 Artiste a2 - WHERE a1.annee_naissance a2.annee_naissance - AND al.id a2.id nom nom Eastwood Hackman On peut imaginer que al et a2 sont deux curseurs qui parcourent indépendamment la table Artiste et permettent de constituer des couples de lignes auxquelles on applique la condition de jointure. Si on recherche maintenant les films avec leur metteur en scène ainsi que les acteurs qui y ont joué un rôle on obtient la requête suivante. mysql SELECT f.titre MES.nom AS nom_realisateur - Acteur.nom AS nom_acteur nom_role - FROM Film AS f Role AS r Artiste MES Artiste Acteur - WHERE f.titre r.titre - AND id_acteur Acteur.id - AND MES.id id_realisateur titre nom_realisateur nom_acteur nom_role Impitoyable Eastwood Eastwood William Munny Impitoyable Eastwood Hackman Little Bill Dagget Van Gogh Pialat Dutronc Van Gogh Les pleins pouvoirs Eastwood Hackman Le president 404 Chapitre 10. Récapitulatif SQL Le module de recherche du site Films voir page 289 est basé sur des jointures et des sélections assez complexes combinant les fonctionnalités vues jusqu à présent. 10.2.3 Jointures externes Quand on effectue la jointure entre Film et Role pour obtenir les rôles d un film rien n apparaît pour le film Kagemusha. mysql SELECT f.titre nom_role - FROM Film AS f Role AS r - WHERE f.titre r.titre titre nom_role Impitoyable Impitoyable Van Gogh Les pleins pouvoirs William Munny Little Bill Dagget Van Gogh Le président En .