首页 > 代码库 > 一个例子讲述Oracle Any子查询

一个例子讲述Oracle Any子查询

问题:
查询出Emp表中比任意一个销售员(“SALESMAN”)工资低的员工姓名、工作、工资。
分析:
销售员在Emp表中有很多条记录,每个人工资不相等,如果返回“比任意员工的工资还低”的条件,返回比“最高工资还低”即可。
如果用子查询做,子查询中就会返回多条记录。用普通的关系符(>、<等)运行就会出错。
这时候需要用关键字ANY。ANY放在比较运算符后面,表示“任意”的意思。

代码演示:ANY子查询

<span style="font-size:18px;">SQL> SELECT ENAME,JOB,SAL FROM EMP  2  WHERE SAL<ANY (SELECT SAL FROM EMP WHERE JOB='SALESMAN')  3  /</span>


代码解析:
<any:比子查询结果中任意的值都小,也就是说,比子查询结果中最大值还小,那么同理>any表示比子查询结果中最小的还大。

 

一个例子讲述Oracle Any子查询