Oracle子查询

Oracle中的子查询

开发工具与关键技术:oracle SQL 
作者:何文涛
撰写时间:2019-3-31

Oracle数据库语法中,子查询是一个及其重要的语法。
下面就图一举例子演示下这个语法的使用
Oracle子查询
图一

子查询顾名思义就是‘‘子’’查询在是在查询内的查询
子查询分为单行子查询和多行子查询

本子查询查询工资和员工kochhar相同的员工
Oracle子查询
图二

子查询内查询姓名为kochhar的员工的工资,然后主查询根据子查询返回的值来筛选数据

Oracle子查询
图三

输出结果为这两个员工,证明了这两个员工的工资和姓名为kochhar的员工工资一样。

注意事项!
子查询要包含在括号内。
将子查询放在比较条件的右侧。
单行操作符对应单行子查询,多行操作符对应多行子查询。

多行子查询:子查询中返回了多行数据称为多行子查询
多行子查询就要用多行子查询的操作符
多行操作符:in 等于列表中的任意一个
any 和子查询返回的某一个值比较
all 和子查询返回的所有值比较

如图下所示all的操作符就是和子查询返回的所有值比较
查询员工中比部门为90号员工的工资还要低的员工
图中子查询返回值是如下:

Oracle子查询
图四

所以最终的结果就是最大的员工工资不会超过17000
以下就是

Oracle子查询

同样,如果你想查询员工中比90号部门任意一个员工的工资还要低的话就可以使用any这个运算符,要找相同的就用in

Oracle子查询