Exercice : Photos à gauche
Soit les trois relations instanciées suivantes :
Combien de tuples renvoie l'instruction SQL suivante :
1
SELECT *
2
FROM Photo ph LEFT JOIN (
3
PersonnesPhotos pp INNER JOIN Personne pe
4
ON pp.Personne=pe.Numero
5
) ON ph.Numero=pp.Photo;
SELECT * FROM Photo ph LEFT JOIN ( PersonnesPhotos pp INNER JOIN Personne pe ON pp.Personne=pe.Numero ) ON ph.Numero=pp.Photo;
"PersonnesPhotos INNER JOIN Personne" renvoie 3 tuples à 6 attributs et inclut les informations comprises dans PersonnesPhotos. La requête est donc équivalente à "SELECT Photo ph LEFT JOIN PersonnesPhotos pp ON ph.Numero=pp.Photo".
Jointure externe gauche donc :
1 tuple pour chaque jointure réalisée, donc photo numéro 1 avec chacun des 3 tuples de pp = 3 tuples
1 tuple pour chaque tuple de ph non concerné par la jointure. Donc 1 tuple pour la photo numéro 2.
Soit 4 tuples au total