日期:2014-05-16 浏览次数:20557 次
准备表
Employee表:
EMPL EMPLOYEE_NAME DEPARTMENT_ID ---- -------------------- ------------- 1001 jack 1 1002 tom 2 1003 smith 2 1004 rose 3
?
Department表:
DEPARTMENT_ID DEPARTMENT_NAME DEPARTMENT_LOCATION ------------- -------------------- ----------------------- 1 公寓1 ss 2 公寓2 sa 3 公寓3 sb 4 公寓4 sv
?
一、等值连接
???????? 使用=进行条件连接的操作。
SQL> select e.employee_name,e.department_id,d.department_name 2 from employee e,department d 3 where e.department_id=d.department_id;
?注意:当连接的表比较多时用别名。
? 二、外连接 ???????? 外连接分为左外连接和右外连接。 ???????? 左连接以第一张表为基准,必须显示完该表的所有数据。EMPLOYEE_NAME DEPARTMENT_ID DEPARTMENT_NAME
-------------------- ------------- --------------------
jack 1 公寓1
smith 2 公寓2
tom 2 公寓2
rose 3 公寓3
?
SQL> select e.employee_name,e.department_id,d.department_name 2 from employee e,department d 3 where e.department_id=d.department_id(+); EMPLOYEE_NAME DEPARTMENT_ID DEPARTMENT_NAME -------------------- ------------- -------------------- jack 1 公寓1 smith 2 公寓2 tom 2 公寓2 rose 3 公寓3
?
右连接以第二张表为基准,必须显示完该表的所有数据。
SQL> select e.employee_name,e.department_id,d.department_name 2 from employee e,department d 3 where e.department_id(+)=d.department_id; EMPLOYEE_NAME DEPARTM