SQL相关子查询和自身连接实例

贴原题:

解析:

本题是要求salary大于以其managerid为id的salary的name,并以employee作为列名输出。

很显然,本题是要用到嵌套查询,且子查询的条件依赖于付查询,这种子查询我们称之为相关子查询(看以下第一种解法)。另外,我们还可以采用自身连接的解法,自身连接不仅可以解决相关子查询的问题,同样还可以解决不相关子查询(看以下第二种解法)。

笔记:以一种不和查询表中的列名字相同的列名作为输出可以采用as子句。(用法参考如下)

贴代码:

相关子查询解法:

# write your mysql query statement below
select name as employee
from employee x
where salary > (select salary
               from employee y
               where y.id=x.managerid);

自身连接解法:

# write your mysql query statement below
select x.name as employee
from employee x, employee y
where y.id = x.managerid and x.salary > y.salary;
(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐