自我加入桌子

时间:2010-06-14 05:29:17

标签: sql self-join

我有一张像

这样的表格
Employee
==================
name      salary
==================
a        10000
b        20000
c        5000
d        40000

我希望得到薪水高于A薪水的所有员工。 我不想使用任何嵌套或子查询。 有人在接受采访时提出要求并提示使用自我加入。我真的无法弄清楚如何实现同样的目标。

2 个答案:

答案 0 :(得分:16)

select e1.* from Employee e1, Employee e2  where 
           e2.name = 'a' and
           e1.salary > e2.salary

使用自我加入

 select e1.* from Employee e1 join Employee e2  on 
           e2.name = 'a' and
           e1.salary > e2.salary

答案 1 :(得分:1)

SELECT emp1.* FROM Employee emp1 JOIN Employee emp2
ON emp2.Name = 'A' and emp1.Salary > emp2.Salary