Précédent   Forum du club des développeurs et IT Pro > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/11/2012, 18h54   #1
sonia5
Débutant
 
Inscription : février 2007
Messages : 266
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 266
Points : 18
Points : 18
Par défaut Jointure entre des tables

* Bonjour, *

J’ai créé une table « etudiant » =>
Code :
1
2
3
4
5
CREATE TABLE etudiant (
IdEtudiant  number(5),
nomEtudiant varchar(5),
idProf number(5)
)
Et une table « Prof »
Code :
1
2
3
4
5
6
CREATE TABLE Prof (
idProf  number(5),
nomProf  varchar(5),
PrenomProf  varchar(5),
Matiere varchar(5)
)
Et j’ai inséré les données suivantes

Code :
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');
Mais quand je fais cette requête

Code :
1
2
3
SELECT *
FROM etudiant  et , Prof  p
WHERE Et.Idprof = P.Idprof
=>Il me donne deux enregistrements
Et cette requete

Code :
1
2
3
SELECT *
FROM Etudiant  Et , Prof  P
WHERE Et.Idprof (+)= P.Idprof
=> Me donne 3 enregistrements (avec des valeurs null pour les informations d étudiant)

Code :
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

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
sonia5 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2012, 09h07   #2
mnitu
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 4 104
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 4 104
Points : 8 000
Points : 8 000
Essayez de lire le tutoriel du SQLPro concernant les jointures.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h20.


 
 
 
 
Partenaires

Hébergement Web