在SQL中使用多个表

Bee*_*eep 0 sql

我有三张桌子:

department,employeetelephone

employee有列EmpNo,Surname,FirstnameDeptNo.

telephone有列EmpNoExtension.

department有列DeptNoDeptName.

我想要的是全名,部门名称和电话分机.

我想我差不多了,但还没有工作.

我的查询

SELECT e.Firstname, e.Surname, d.DeptName, t.Extension
FROM employee AS e
INNER JOIN department AS d
INNER JOIN telephone AS t
ON e.DeptNo = d.DeptNo
ON t.EmpNo = e.EmpNo;
Run Code Online (Sandbox Code Playgroud)

AgR*_*zzo 7

要解决您的问题,请ON在下一个之前移动其中一个子句JOIN

SELECT e.Firstname, e.Surname, d.DeptName, t.Extension
FROM employee AS e
INNER JOIN department AS d
  ON e.DeptNo = d.DeptNo
INNER JOIN telephone AS t
  ON t.EmpNo = e.EmpNo;
Run Code Online (Sandbox Code Playgroud)

  • 严格地说,声明*"ON需要在下次加入之前来"*是不正确的.`FROM department AS d INNER JOIN员工AS e INNER JOIN电话AS t ON t.EmpNo = e.EmpNo ON e.DeptNo = d.DeptNo`(异常但是)完全有效. (2认同)