隐含加入

也可以通过在 from 子句中使用几个表来执行连接,用逗号 , 分隔并在 where 子句中定义它们之间的关系。此技术称为隐式连接(因为它实际上不包含 join 子句)。

所有 RDBMS 都支持它,但通常建议不要使用语法。使用此语法的一个坏主意的原因是:

  • 有可能会出现意外的交叉连接,然后返回不正确的结果,尤其是如果查询中有很多连接。
  • 如果你打算交叉连接,那么从语法中不清楚(写出 CROSS JOIN 代替),有人可能会在维护期间更改它。

以下示例将选择员工的名字以及他们为其工作的部门的名称:

SELECT e.FName, d.Name
FROM   Employee e, Departments d
WHERE  e.DeptartmentId = d.Id

这将从示例数据库返回以下内容 :

e.FName d.Name
詹姆士 HR
约翰 HR
理查德 销售