2016-10-17 40 views
0

所以這是個問題。如何在子句中使用sql?

人力資源部門的經理需要列出部門經理,他們的工資。該查詢必須顯示部門名稱,名字和姓氏(將名稱列連接到單個列中)以及Salary列值。如下所示命名結果表中的列:部門,經理和薪酬。通過Salary對結果表進行排序。使用WHERE子句來連接表。使用COLUMN-FORMAT命令可以輕鬆地在一個頁面上生成列表。

而這就是我有這麼遠

SELECT FirstName||' '||LastName "Manager" FROM  Employee 
SELECT LastName "Last Name", FirstName "First Name", 
DepartmentName "Department Name", Salary "Salary" 
FROM Employee, Department 
WHERE Employee.DepartmentNumber = Department.DepartmentNumber 

我知道這是錯誤的,但我無法弄清楚如何做到這一點不同

我也有另外一個問題掙扎,以及它是

通過使用FROM子句加入表來重寫上述問題的查詢。

到目前爲止,我有這個,但不知道如何做連接部分。

SELECT LastName "Last Name", FirstName "First Name", 
DepartmentName "Department Name", Salary "Salary" 
FROM Employee e JOIN Department d 
ON (e.DepartmentNumber = d.DepartmentNumber); 

感謝您的幫助

+0

SQL Server不符合有關字符串連接的SQL標準。你必須在那裏使用'+'而不是'||' –

回答

1

連接字符串中SQL SERVER你需要使用+操作

SELECT FirstName+' '+LastName as [First Name], 
DepartmentName [Department Name], Salary 
FROM Employee e JOIN Department d 
ON (e.DepartmentNumber = d.DepartmentNumber) 
Order by Salary 

如果您正在使用SQL SERVER 2012+然後用CONCAT功能

CONCAT(FirstName,' ',LastName) as [First Name] 

注意:使用Where子句連接兩個表是舊式並且不建議始終使用顯式INNER JOIN語法