需求一:将所有员工信息列出,并带出岗位信息,有的员工可能没有岗位信息,所以可以使用外连接实现。
主流数据库通用的使用方法:左连接实现
select e.name,p.p_name
from tbl_employeee
left jointbl_position p
on (e.p_id=p.p_id)
在Oracle中可以使用更简单的方式:对于外连接,Oracle中可以使用“(+)”来表示.
select e.name,p.p_name
from tbl_employeee,tbl_position p
where e.p_id=p.p_id(+)
需求二:将所有岗位信息列出,并将该岗位下的人员信息列出,有的岗位下可能没有人员,所以可以使用外连接实现。
主流数据库通用的使用方法:右连接实现
select e.name,p.p_name
from tbl_employeee
right jointbl_position p
on (e.p_id=p.p_id)
在Oracle中可以使用:
select e.name,p.p_name
from tbl_employeee,tbl_position p
where e.p_id(+)=p.p_id
需求三:将所有岗位信息和所有的人员信息列出,包括没有对应岗位的员工记录和没有任何员工的岗位记录,所以可以使用全外关联实现。
普通数据库使用:左连接实现
select e.name,p.p_name
from tbl_employeee
full jointbl_position p
on (e.p_id=p.p_id)