在一张桌子上操作时是否需要内部连接?

时间:2016-08-05 03:52:04

标签: mysql join

下面有一个表格.attr("cx", function(d) { return d.x = Math.max(d.radius, Math.min(width - d.radius, d.x)); }) .attr("cy", function(d) { return d.y = Math.max(d.radius, Math.min(height - d.radius, d.y)); });

enter image description here

我需要找到收入高于经理的员工,我找出两种方法:

  1. Employee
  2. SELECT a.Name AS Employee FROM Employee a, Employee b WHERE a.Salary > b.Salary AND a.ManagerId = b.Id;
  3. 它们都运作良好且速度很快。

    他们之间有什么区别?感谢。

1 个答案:

答案 0 :(得分:1)

这些查询是等效的。但是您应该在join子句中使用from语法而不是逗号。 INNER JOIN ON vs WHERE clause

这是一个替代选项,使用exists可能会有更好的效果:

select e.Name AS Employee
from employee e
where exists (
   select 1
   from employee e2
   where e.managerid = e2.id and e.salary > e2.salary
)