oracle 数据库所有示例 --有去除功能的 是通过交集做的计算 select sname,sal,sage,sdeptno from student where sdeptno in(20,10) union select sname,sal,sage,sdeptno from student where sdeptno=20 ; --没有去除功能的 (10,20)将全部显示出来 select iname,iage,ideptno from showinfo where ideptno i
表查询: 合并查询:使用union关键字,可将满足条件的重复行去掉。 代码如下: select ename,sal,job from emp where sal > 2500 union select ename,sal,job from emp where job = ‘MANAGER’; 而union all用法和union相似,但是不会取消重复行。 intersect 用来取两个结果的交集。 minus用来取两个结果的差集。 使员工scott的岗位,工资,补助与SMITH员工一样
1.intersect为取多个查询结果的交集; 2.查询两个基本时间段内表记录的SQL语句; select * from shengjibiao t where t.createtime between to_date(‘2009-7-26′,’yyyy-MM-dd’) and to_date(‘2009-7-29′,’yyyy-MM-dd’) –也可以用>,=,<= update shengjilogin t set t.starttime=to_date(‘2009-01-02
Oracle数据库的两个字段值为逗号分割的字符串,例如:字段A值为“1,2,3,5”,字段B为“2”。
想获取两个字段的交集(相同值)2,获取两个字段的差集(差异值)1,3,5。
一、最终实现的sql语句
1、获取交集(相同值):
select regexp_substr(id, '[^,]+', 1, rownum) id
from (select '1,2,3,5' id from dual)
connect by rownum <= length(regexp_replace(id