sql 语句系列(多表之链二)[八百章之第四章]

从多个表中返回缺失值

比如说查询每个员工的部门,且查看部门的所有员工。

这里考虑一种情况就是可能有部门没有员工,同样有些员工还没有分配部门。
解析使用 full outer join.

select d.DEPTNO,d.DNAME,e.ENAME
from DEPT d full outer join EMP e 
on (d.DEPTNO=e.DEPTNO)

在运算中比较null

因为null值是不能比较的,那么可以把null值转换为0;

select ename,comm
from EMP
where coalesce(COMM,0)<(select comm from EMP where ename='WARD')

coalesce返回一个传入参数的非空值。

如果我们使用coalesce,像这样:

select ename,comm
from EMP
where COMM<(select comm from EMP where ename='WARD')

那么就会自动排除null项。

posted @ 2020-03-23 22:13  敖毛毛  阅读(130)  评论(0编辑  收藏  举报