资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
oracle 中 any,some,all 用法平时工作中,很少用 any、some 、all ,今天突然看到这种用法,感觉很不错,工作中应该能用到;用 some,any 和 all 对子查询中返回的多行结果进行处理。下面我们来简单介一下这几个关键词的含义。 * Some 在此表示满足其中一个的意义,是用 or 串起来的比较从句。 * Any 也表示满足其中一个的意义,也是用 or 串起来的比较从句,区别是 any 一般用在非“=”的比较关系中,这也很好理解,英文中的否定句中使用 any 肯定句中使用 some,这一点是一样的。 * All 则表示满足其其中所有的查询结果的含义,使用 and 串起来的比较从句。Any带【any】的嵌套查询和【 some】的嵌套查询功能是一样的。早期的 SQL 仅仅允许使用【any】,后来的版本为了和英语的 【any】相区分,引入了【some】,同时还保留了【any 】关键词。any:select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal any(select sal from scott.emp where job=MANAGER); 带 any 的查询过程等价于两步的执行过程。(1)执行 “select sal from scott.emp where job=MANAGER”select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal 2975 or sal2850 or sal2450; somesome:select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal =some(select sal from scott.emp where job=MANAGER);带 some 的嵌套查询与 any 的步骤相同。(1)子查询 ,执行“select sal from scott.emp where job=MANAGER”,其结果如图 4.22 所示。 (2)父查询执行下列语句。 select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal =2975 or sal=2850 or sal=2450;allall 是查询还可以是子查询如:select name from edit其中 name 前省略了 all.name 前可以加 ALL|DISTINCTall 是所有记录.distinct 是不重复的。select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal all(select sal from scott.emp where job=MANAGER);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号