九、多行子查询


子查询的返回结果是多行数据. 此时, 不能再使用普通的比较运算符了.

多行记录比较运算符:

一、any

  • Ø ANY: 跟结果中的任何一个数据进行比较

查询工资低于任何一个“CLERK”的工资的雇员信息

select * from emp where sal<ANY(select sal from emp where job='CLERK') and job<>'CLERK';

【注意】any操作符后接多行子查询返回列表中的每一个值。

<any为小于最大的

>any为大于最小的。

二、all

  • Ø ALL: 跟结果中的所有数据进行比较

查询工资比所有的“SALESMAN”都高的雇员的编号、名字和工资

select empno, ename, sal

from emp

where sal>ALL(select sal from emp where job='SALESMAN');

【注意】all操作符比较子查询返回列表中的每一个值。

<all为小于最小的

>all为大于最大的

=all无意义,一般不写。

三、in

 

  • Ø IN: 等于结果中的任何一个

查询部门20中职务同部门10的雇员一样的雇员信息

select *

from emp

where job in (select job from emp where deptno=10)

and deptno=20;

select *

from emp

where job =any (select job from emp where deptno=10)

and deptno=20;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM