Oracle之集合運算

2021-09-08 15:39:12 字數 1363 閱讀 7351

--工資大於1500,或者20號部門下的員工

select * from emp where sal > 1500 or deptno=20;

select * from emp where sal > 1500

union

select * from emp where deptno=20; --9條資料,去重

--工資大於1500,或者20號部門下的員工

select * from emp where sal > 1500

union all

select * from emp where deptno=20; --12條記錄,沒有去重

--用null補齊

select ename,sal,deptno from emp where sal > 1500

union

select ename,sal,null from emp where deptno = 20;

--用同型別資料補齊

--工資大於1500,並且20號部門下的員工

--2023年入職員工(不包括總裁和經理)

select * from emp where to_char(hiredate,'yyyy')='1981'

minus

select * from emp where job in('manager','president')

oracle集合運算

主要運用 資料統計 並集 union 交集 interset 差集 minus 使用oracle提供的scott使用者進行演示 工資大於1500 或者是20號部門下的員工 並集運算 1.使用union select from emp where sal 1500 union select from ...

Oracle 集合運算

集合運算注意的問題 union並集 intersect交集 minus差集 1 參與運算的各個集合必須列數相同 且型別一致 2 採用第乙個集合作為最後結果的表頭 3 order by永遠在最後 4 括號 sql優化 盡量不要使用集合運算 多次查詢資料庫,效率低 select from emp whe...

Oracle 集合運算

準備工作 oracle使用者scott下emp表 dept表。dept表 select t.deptno from dept t 結果 table deptno 10 20 30 40 table emp表 select t.deptno from emp t 結果 table deptno 10 ...