结果一样,为什么会报错?
LeetCode中的一道题
Employee 表包含所有员工信息,每个员工有对应的 Id,此外还有一列部门 Id。
我的解题思路是分别找出IT收入最高的前三名和sales收入最高前三名,然后将两个表合并。
Select a.* from (SELECT d.name as Department,e.name AS Employee,e.Salary from Employee e
join Department d on e.DepartmentId=d.id
where d.name='IT'
order by salary DESC
limit 3) as a
union select b.* from
(SELECT d.name as Department,e.name AS Employee,e.Salary from Employee e
join Department d on e.DepartmentId=d.id
where d.name='Sales'
order by salary DESC
limit 3) as b;
join Department d on e.DepartmentId=d.id
where d.name='IT'
order by salary DESC
limit 3) as a
union select b.* from
(SELECT d.name as Department,e.name AS Employee,e.Salary from Employee e
join Department d on e.DepartmentId=d.id
where d.name='Sales'
order by salary DESC
limit 3) as b;
输出的结果是一样的,但是为什么会报错?
#leetcode#