* Bonjour, *
J’ai créé une table « etudiant » =>
Et une table « Prof »
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 create table etudiant ( IdEtudiant number(5), nomEtudiant varchar(5), idProf number(5) )
Et j’ai inséré les données suivantes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Create table Prof ( idProf number(5), nomProf varchar(5), PrenomProf varchar(5), Matiere varchar(5) )
Mais quand je fais cette requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Insert Into Prof Values('1','test1','test1', 'math') Insert Into Prof Values('2','test2','test2', 'phy') insert into Prof values('3','test3','test3', 's') Insert Into Etudiant Values('4','test1','1'); Insert Into Etudiant Values('5','test2','2'); insert into etudiant values('6','test3','5');
=>Il me donne deux enregistrements
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select * From etudiant et , Prof p Where Et.Idprof = P.Idprof
Et cette requete
=> Me donne 3 enregistrements (avec des valeurs null pour les informations d étudiant)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select * From Etudiant Et , Prof P Where Et.Idprof (+)= P.Idprof
=> Me donne 3 enregistrements avec des valeurs nuls pour les informations de prof
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Select * From Etudiant Et , Prof P Where Et.Idprof = P.Idprof(+)
Est-ce que vous pouvez me dire c’est quoi la différence entre les 2 jointures (right, left) ? Et quand on les utilise au lieu d’utiliser la jointure normale ??
Merci d'avance
Partager