Requête avec NATURAL JOIN
Salut tout le monde,
Je travail sur le sechma (employees, departments et locations) founit par les exemple de Oracle sur la 9i.
Et j'ai trois requête à comparer :
requête 1 :
Code:
1 2 3 4 5 6 7
|
SELECT last_name, job_id, d.department_id, department_name
FROM hr.employees e JOIN hr.departments d
ON(e.department_id=d.department_id)
JOIN hr.locations l
ON(d.location_id=l.location_id)
WHERE l.city = 'Toronto'; |
reuqête 2:
Code:
1 2 3 4 5 6
|
SELECT last_name, job_id, d.department_id, department_name
FROM hr.departments d, hr.employees e, hr.locations l
WHERE l.city = 'Toronto'
AND e.department_id=d.department_id
AND d.location_id = l.location_id; |
Les deux premières me donnent le même résultat qui est le suivant :
Hartstein MK_MAN 20 Marketing
Fay MK_REP 20 Marketing
Par contre la reuqête 3:
Code:
1 2 3 4 5
|
SELECT last_name, job_id, department_id, department_name
FROM hr.employees NATURAL JOIN (hr.departments
NATURAL JOIN hr.locations)
WHERE city = 'Toronto'; |
Ne me donne pas le même résultat ..!! mais je ne sais pas pourquois ..!!
elle retourne une seule ligne :
Fay MK_REP 20 Marketing
Pour moi elle est sencée me donner le même résultat des deux premières requêtes ...!!
Merci pour vos réponses.