首页 > 数据库 > SQL Server >

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

2017-10-21

SQL相关子查询和自身连接实例。贴原题:解析:本题是要求Salary大于以其ManagerId为Id的Salary的Name,并以Employee作为列名输出。很显然,本题是要用到嵌套查询,且子查询的条件依赖于付查询,这种子查询我们称之为相关子查询(看以下第一种解法)。另外,我们还可以采用自

贴原题:

这里写图片描述

解析:

本题是要求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;
相关文章
最新文章
热点推荐