--去重 交集 不忽略空值
select deptno from emp
intersect
select deptno from dept2
---dept2 不在 emp表中的數據
select deptno from dept2
minus
select deptno from emp
select deptno from emp
minus
select deptno from dept2
因爲有空值 所以not in 返回0條記錄
改寫爲 相關子查詢
select *
from dept2 d
left join emp e
on d.deptno = e.deptno
where e.deptno is null
create table t_sal_jj
(empno number,
jj number)
select * from emp
--報錯
select e.ename,e.deptno
from dept2 d,emp e
where d.deptno = e.deptno
left join t_sal_jj jj
on e.empno=jj.empno
--全部改寫爲 顯示連接 的
select e.ename,e.deptno,jj
from dept2 d join emp e
on d.deptno = e.deptno
left join t_sal_jj jj
on e.empno=jj.empno
--或者改寫成oracle獨有的外部連接語法
select e.ename,e.deptno,jj
from dept2 d , emp e,t_sal_jj jj
where d.deptno = e.deptno
and e.empno=jj.empno(+)
-----還可以使用標量子查詢
select e.ename,e.deptno,(select jj from t_sal_jj jj where jj.empno=e.empno)as jj
from dept2 d,emp e
where d.deptno = e.deptno