問題:
查詢出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表示比子查詢結果中最小的還大。