2011-11-18 55 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部分 - >等同於兩個表之間的分離值。