等连接:连接条件使用等号
非等连接:连接条件使用等号以外的其它符号
内连接:根据指定的连接条件进行连接查询,满足连接条件的数据才会出现在结果集
外连接:在内连接的基础上,将某个连接表不符合连接条件的记录加入结果集
自连接:自身表中的列关联自身表中的其它列
内连接属于强连接,外连接属于弱连接
左外连接
【A left outer join B】即把左边表A当作基准,在内连接操作方式下,遇到符合连接条件的记录加入结果集,遇到A中不符合条件的记录也加入(因为它是基准),但对应B表的记录用null填充
select e.last_name,d.name
from s_emp e left outer join s_dept d
on e.dept_id=d.id;
Oracle特有写法:
select e.last_name,d.name
from s_emp e,s_dept d
where e.dept_id=d.id(+);
右外连接
【A right outer join B】即把右边表B当作基准,在内连接操作方式下,遇到符合连接条件的记录加入结果集,遇到B中不符合条件的记录也加入(因为它是基准),但对应A表的记录用null填充
oracle扩展连接方式:连接条件哪边表的列用(+),则它的记录用null值填充(也可把null当作占位符,没有东西、空占着位置),另一边的表会把不符合连接条件的记录也加进查询结果中。
全外连接
select e.last_name,d.name
from s_emp e full outer join s_dept d
on e.dept_id=d.id;
没有特殊写法