.外连接
外连接在关联查询时还可以将不满足的连接条件也查询出来,外连接分为:
左外连接,右外连接,全外连接 LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN
左外连接:以 JOIN左侧表作为驱动表,驱动表中所有数据都要列出来,那么当该表某条记录不满足
连接条件时,那么来自右侧表的字段值全部为NULL,
右外连接就是以右侧表作为驱动表,右侧表的数据都要显示,当左表不满足条件时补 NULL
全外连接就是两个表有的字段都要显示,当有某一个表的字段不满足条件就补NULL
示例SQL如下
SELECT e.ename,d.dname FROM emp_px e LEFT OUTER JOIN dept_px d ON e.deptno=d.deptnoSELECT e.ename,d.dname FROM emp_px e RIGHT OUTER JOIN dept_px d ON e.deptno=d.deptno
SELECT e.ename,d.dname FROM emp_px e FULL OUTER JOIN dept_px d ON e.deptno=d.deptno
.JOIN ...ON为表关联查询,其作用相当于where
用法:join 后跟关联查询的表名,on里加两表关联条件,where加最终过滤条件,需要注意的是,on中的关联条件先于where 条件执行,所以有过滤的条件在不影响关联的条件下,最好优先放入on函数中(这部分会单独写一篇文章进行说明)
select e.ename,d.loc from emp e join dept d on e.deptno=d.deptno where e.ename='SMITH';