使用特定列连接两个表

Nat*_*lie 10 sql sql-server-2012

我是SQL的新手,我知道这是非常基本但我真的不知道怎么做!我正在加入两个表,每个表让我们说有5列,加入它们会给我10列,我真的不想要.我想要的是从两个表中选择特定列,以便它们仅在连接后显示.(我想仅将连接结果减少到特定列)

SELECT * FROM tbEmployees

JOIN tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID
Run Code Online (Sandbox Code Playgroud)

上面的语法将为我提供我不想要的所有列.我只想要来自tblEmployees表的EmpName,Address和来自tbSupervisor表的Name,Address,project

我知道这一步:

SELECT EmpName, Address FROM tbEmployees

JOIN tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID
Run Code Online (Sandbox Code Playgroud)

但我不确定主管表.

我正在使用SQL Server.

OCD*_*Dan 17

这就是你需要的:

Select e.EmpName, e.Address, s.Name, S.Address, s.Project
From tbEmployees e
JOIN tbSupervisor s on e.id = SupervisorID
Run Code Online (Sandbox Code Playgroud)

但是,我肯定会建议在SQL上阅读更多内容.http://www.w3schools.com/sql/default.asp是一个不错的起点.


Fen*_*ton 10

您可以通过其全名或使用别名从特定表中获取列:

SELECT E.EmpName, E.Address, S.Name, S.Address, S.Project
FROM tbEmployees E
INNER JOIN tbSupervisor S ON E.ID = S.SupervisorID
Run Code Online (Sandbox Code Playgroud)


小智 6

您可以使用表名作为列规范的一部分:

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

FROM tbEmployees

JOIN tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID
Run Code Online (Sandbox Code Playgroud)


小智 5



    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