请解释这两个查询之间的区别

时间:2017-11-21 23:14:18

标签: sql oracle-sqldeveloper

子查询1:

select employee_id,last_name,salary
from employees
where salary > (select round(avg(salary),0)
                from employees
               )
order by salary 

子查询2:

select employee_id,last_name,salary
from employees
where salary > all (select round(avg(salary),0)
                    from employees
                   )
order by salary 

1 个答案:

答案 0 :(得分:0)

我无法想到手头的任何差异。子查询只返回一行 - 平均工资。 all关键字的存在与否对于标量子查询并不重要。如果salary仅为NULL,则两个查询都不会返回任何行。