首页 > 数据库技术 > 详细

oracle 单行子查询

时间:2015-01-13 10:31:36      阅读:351      评论:0      收藏:0      [点我收藏+]

子查询在SELECT、UPDATE、DELETE语句内部可以出现SELECT语句。内部的SELECT语句结果可以作为外部语句中条件子句的一部分,
也可以作为外部查询的临时表。子查询的类型有:
1. 单行子查询:不向外部返回结果,或者只返回一行结果。
2. 多行子查询:向外部返回零行、一行或者多行结果。


单行子查询代码演示:查询出销售部(SALES)下面的员工姓名,工作,工资。该问题可以用联接查询实现,由于所需的结果信息都在Emp表中,

可以先从Dept表中查询出销售部对应的部门号,然后根据当前部门号再到Emp表中查询出符合该部门的员工记录即可。

从销售表中查询出的结果可以作为Emp表中查询的条件,SQL语句实现如下:

SQL> SELECT ENAME,JOB,SAL FROM EMP 
  2  WHERE DEPTNO=(SELECT DEPTNO FROM DEPT WHERE DNAME='SALES')
  3  /


代码解析:
内部查询的结果作为外部查询的条件。

需要注意:
 如果内部查询不返回任何记录,则外部条件中字段DEPTNO与NULL比较永远为假,也就是说外部查询不返还任何结果。
 在单行子查询中外部查询可以使用=、>、<、>=、<=、<>等比较运算符。
 内部查询返回的结果必须与外部查询条件中的字段(DEPTNO)匹配。
 如果内部查询返回多行结果则出现错误。

oracle 单行子查询

原文:http://blog.csdn.net/helloboat/article/details/42672615

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!