leetcode 181. Employees Earning More Than Their Managers(SQL,相关子查询,自身连接)38
2017-10-20 20:19
495 查看
贴原题:
解析:
本题是要求Salary大于以其ManagerId为Id的Salary的Name,并以Employee作为列名输出。
很显然,本题是要用到嵌套查询,且子查询的条件依赖于付查询,这种子查询我们称之为相关子查询(看以下第一种解法)。另外,我们还可以采用自身连接的解法,自身连接不仅可以解决相关子查询的问题,同样还可以解决不相关子查询(看以下第二种解法)。
笔记:以一种不和查询表中的列名字相同的列名作为输出可以采用AS子句。(用法参考如下)
贴代码:
相关子查询解法:
自身连接解法:
解析:
本题是要求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;
相关文章推荐
- LeetCode SQL:Employees Earning More Than Their Managers
- leetcode SQL Employees Earning More Than Their Managers
- [LeetCode][SQL]Employees Earning More Than Their Managers
- 【leetcode SQL】Employees Earning More Than Their Managers
- Employees Earning More Than Their Managers Leetcode SQL
- [LeetCode] [SQL]: 181: Employees Earning More Than Their Managers
- 【LeetCode】181. Employees Earning More Than Their Managers
- [LeetCode]Employees Earning More Than Their Managers,解题报告
- Leetcode笔记:(MySQL)181. Employees Earning More Than Their Managers
- Leetcode: Employees Earning More Than Their Managers
- 【Leetcode Database】Employees Earning More Than Their Managers
- [Leetcode] [Database] Employees Earning More Than Their Managers解题笔记
- Leetcode 181 Employees Earning More Than Their Managers
- 【leetcode Database】181. Employees Earning More Than Their Managers
- leetcode 181. Employees Earning More Than Their Managers
- 181. Employees Earning More Than Their Managers--自连接
- [LeetCode]-DataBase-Employees Earning More Than Their Managers
- leetcode181-Employees Earning More Than Their Managers
- leetcode: Employees Earning More Than Their Managers
- LeetCode OJ Employees Earning More Than Their Managers