2011-11-18 80 views
0

我对旧的JOIN语句不太好,并寻找一点友好的帮助。我有两个表,可以说表EmployeeMySQL JOIN语句交叉连接?

LastName DepartmentID 
Rafferty 31 
Jones 33 
Steinberg 33 
Robinson 34 
Smith 34 
John NULL 

和表Department

DepartmentID DepartmentName 
31 Sales 
33 Engineering 
34 Clerical 
35 Marketing 

,如果我想返回结果,其中DepartmentID=31,只有结果,其中Employee.DepartmentID = Department.DepartmentID,使返回的结果会是什么样子这个:

Employee.LastName Employee.DepartmentID Department.DepartmentName 
Rafferty 31 Sales 

(我们可以放弃其中一个DepartmentID,因为它们是相同的) - 什么是SQL语句,将完成?

感谢

回答

1
SELECT e.LastName, e.DepartmentID, d.DepartmentName 
FROM Employee e 
INNER JOIN Department d ON d.DepartmentID = e.DepartmentID 
WHERE d.DepartmentID = 31 
+0

谢谢,'部门d'和'员工e'是'd'还是'e'可重复使用的变量? – themerlinproject

+0

@themerlinproject - 不,它只是为在相同查询中使用的表名创建别名。在这种情况下,我正在使用它,所以我可以简单地输入'e'而不是'Employee'。尽管当你加入一个表格时,别名特别方便。 –

0
SELECT e.LastName, e.DeparmentID, d.DepartmentName 
FROM employee AS e INNER JOIN department AS d ON e.DepartmentID = e.DepartmentID 
WHERE e.DepartmentID = 31 

我们将使用INNER JOIN来匹配每个表中的记录,使用ON部分 - >等同于两个表之间的分离值。