贴原题:
解析:
本题是要求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;