首页 / ORACLE / Oracle系列:(14)子查询
Oracle系列:(14)子查询
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle系列:(14)子查询,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2060字,纯文字阅读大概需要3分钟。
内容图文
![Oracle系列:(14)子查询](/upload/InfoBanner/zyjiaocheng/469/5a9800922ade4346bc0f396e3751b338.jpg)
第一:查询部门名为‘ACCOUNTING‘或‘SALES‘的部门编号?
select deptno from dept where dname in (‘ACCOUNTING‘,‘SALES‘);
第二:查询部门号为10或30号的员工信息?
select * from emp where deptno in (10,30);
子查询:
select * from emp where deptno in ( select deptno from dept where dname in (‘ACCOUNTING‘,‘SALES‘) );
查询工资比20号部门【任意any】一个员工工资【低<】的员工信息(多行子查询,使用any关键字)
第一:查询20号部门的所有工资?
select sal from emp where deptno = 20;
第二:查询工资比(800,2975,3000,1100,3000)任意一个低的员工信息?
select * from emp where sal < any (800,2975,3000,1100,3000);
在oracle看来,<any就等于<集合中最大的那个值
子查询:
select * from emp where sal <any ( select sal from emp where deptno = 20 );
查询工资比30号部门【所有all】员工【低<】的员工信息(多行子查询,使用all关键字)
第一:查询出30部门所有员工的工资?
select sal from emp where deptno = 30;
第二:查询工资比(1600,1250,1250,2850,1500,950)中所有的工资都低的员工信息?
select * from emp where sal <all (1600,1250,1250,2850,1500,950);
子查询:
select * from emp where sal <all ( select sal from emp where deptno = 30 );
注意:不容易理解的几个概念 单行函数:输入一个参数,输出一个结果 多行函数:扫描多个参数,输出一个结果 单行子查询:子查询只会返回一个结果,例如:800,父查询用=/<>/>=/<=这些符号来比较 多行子查询:子查询会返回多于一个结果,例如:30,20,父查询用in/any/all这些符号来比较 |
当多表查询,子查询同时能解决问题时,按如下优先方案选择: 多表查询-->子查询 注意:上述结果不是说多表查询可以替代子查询,某些情况下,只能用子查询解决,例如:oracle分页 |
Oracle系列:(14)子查询
标签:oracle
本文系统来源:http://lsieun.blog.51cto.com/9210464/1847469
内容总结
以上是互联网集市为您收集整理的Oracle系列:(14)子查询全部内容,希望文章能够帮你解决Oracle系列:(14)子查询所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。