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: если знак >, то больше всех значений из вложенного запроса или если знак < , то меньше всех значений из вложенного запроса.