select e.last_name, e.department_id, d.department_name from hr.employees e left outer join hr.departments d on (e.department_id = d.department_id); select e.last_name, e.department_id, d.department_name from hr.employees e left outer join hr.departments d on ( d.department_id=e.department_id ); SQL> select e.last_name, e.department_id, d.department_name from hr.employees e left outer join hr.departments d on (e.department_id = d.department_id); 2 3 107 rows selected. Execution Plan ---------------------------------------------------------- Plan hash value: 2296652067 ---------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 107 | 2889 | 7 (15)| 00:00:01 | |* 1 | HASH JOIN OUTER | | 107 | 2889 | 7 (15)| 00:00:01 | | 2 | TABLE ACCESS FULL| EMPLOYEES | 107 | 1177 | 3 (0)| 00:00:01 | | 3 | TABLE ACCESS FULL| DEPARTMENTS | 27 | 432 | 3 (0)| 00:00:01 | ---------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - access("E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID"(+)) SQL> select e.last_name, e.department_id, d.department_name from hr.employees e left outer join hr.departments d on ( d.department_id=e.department_id ); 2 3 107 rows selected. Execution Plan ---------------------------------------------------------- Plan hash value: 2296652067 ---------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 107 | 2889 | 7 (15)| 00:00:01 | |* 1 | HASH JOIN OUTER | | 107 | 2889 | 7 (15)| 00:00:01 | | 2 | TABLE ACCESS FULL| EMPLOYEES | 107 | 1177 | 3 (0)| 00:00:01 | | 3 | TABLE ACCESS FULL| DEPARTMENTS | 27 | 432 | 3 (0)| 00:00:01 | ---------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - access("D"."DEPARTMENT_ID"(+)="E"."DEPARTMENT_ID") (e.department_id = d.department_id)和( d.department_id=e.department_id )位置没有影响。