Oracle многострочные подзапросы и использование операторов ANY и ALL

 В многострочных подзапросах используются несколько вложенных запросов, соответственно возвращается несколько значений.

SQL> select name_emp from emp where salary > (select salary from emp where name_emp = 'max') AND
2  room_num > (select room_num from emp where room_num = '3');

NAME_EMP
----------------------------------------
alexander
dmitry
natalya
x


Использование операторов ANY и ALL в подзапросах.

Пример с оператором ANY:
SQL> select name_emp, salary from emp where salary > ANY (select salary from emp where room_num >'10');

NAME_EMP                                     SALARY
---------------------------------------- ----------
alexander                                     38000
dmitry                                         35000
natalya                                        42000
andrey                                        70000
x                                         999999999


В данном примере производится выборка зарплаты больше чем любое возвращаемое значение запроса (select salary from emp where room_num >'10');

ALL: если знак >, то больше всех значений из вложенного запроса или если знак < , то меньше всех значений из вложенного запроса.

Дополнительная информация