2013-07-02 41 views
8

我是新來的SQL,我知道這是非常基本的,但我真的不知道該怎麼做! 我加入兩張桌子,每桌可以說有5列,加入他們會給我總共10列,我真的不想要。我想要的是從兩個表中選擇特定的列,以便它們僅在連接後顯示。 (我想減少我的接合結果只有特定的列)加入兩個表與特定列

SELECT * FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 

的語法上面會給我,我不希望所有列。我只是想EmpName,從tbSupervisor表

的tblEmployees表和名稱,地址,項目地址我知道這一步:

SELECT EmpName, Address FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 

,但我不知道有關主管表。

我正在使用SQL Server。

+0

您只需從每個表中輸入您需要的列名即可。 – Taryn

回答

13

這是你所需要的:

Select e.EmpName, e.Address, s.Name, S.Address, s.Project 
From tbEmployees e 
JOIN tbSupervisor s on e.id = SupervisorID 

不過,我肯定會建議對SQL讀了一些。 http://www.w3schools.com/sql/default.asp是一個體面的地方開始。

+0

MS SQL分鐘校正...'選擇e.EmpName,e.Address,s.Name,S.Address,s.Project 來自tbEmployees e JOIN tbSupervisor s on e.id = s.SupervisorID' –

8

你可以從特定的表列,無論是他們的全名或使用別名:

SELECT E.EmpName, E.Address, S.Name, S.Address, S.Project 
FROM tbEmployees E 
INNER JOIN tbSupervisor S ON E.ID = S.SupervisorID 
1

您需要了解的別名。他們將使您的查詢更易於維護。

SELECT e.EmpName, e.Address, s.name, s.address as SupervisorAddress 
FROM tbEmployees e JOIN 
    tbSupervisor s 
    ON e.ID = s.SupervisorID; 

請注意,我也改名爲第二地址,以便它的名稱是獨一無二的:此外,引用的時候列,所以您的查詢清楚它在做什麼,你應該經常使用的別名。

4

您可以使用表名作爲列規範的一部分:

SELECT tbEmployees.EmpName, tbEmployeesAddress, tbSupervisor.Name, 
     tbSupervisor.Address, tbSupervisor.project 

FROM tbEmployees 

JOIN tbSupervisor 

ON tbEmployees.ID = tbSupervisor.SupervisorID 
1

在選擇指定表名和字段名

SELECT tbEmployees.EmpName,tbEmployees.Address,tbSupervisor [。列名]

FROM tbEmployees

JOIN tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID

3
 


    SELECT employees.EmpName, employees.Address AS employeer address, 
      supervisor.Name, supervisor.Address AS supervisor address,supervisor.project 
    FROM tbEmployees 
     AS employees 
    JOIN tbSupervisor 
     AS supervisor 
    ON 
     employees.ID = supervisor.SupervisorID