连接也可以通过在from子句中有多个表(用逗号分隔),并在where子句中定义它们之间的关系来执行。这种技术称为隐式连接(因为它实际上并不包含join子句)。
所有RDBMS都支持它,但是通常建议不要使用该语法。使用此语法不是一个好主意的原因是:
可能会发生意外的交叉联接,然后返回错误的结果,尤其是在查询中有很多联接的情况下。
如果您打算进行交叉联接,则语法上并不清楚(改为写出CROSS JOIN),并且有人可能会在维护期间进行更改。
下面的示例将选择员工的名字和他们工作所在部门的名称:
SELECT e.FName, d.Name FROM Employee e, Departments d WHERE e.DeptartmentId= d.Id
这将从示例数据库返回以下内容:
e.FName | d。名字 |
---|---|
詹姆士 | 人力资源 |
约翰 | 人力资源 |
理查德 | 营业额 |