欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-16 14:30:29
贴原题: 解析: 本题是要求salary大于以其managerid为id的salary的name,并以employee作为列名输出。 很显然,本题是要用到嵌套查询,且子查询的条件依赖于付查询,这种...

贴原题:

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;