24

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

SELECT * FROM tbEmployees

JOIN tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID

上面的语法会给我所有我不想要的列。我只想要 tblEmployees 表中的 EmpName, Address 和 tbSupervisor 表中的 Name, Address, project

我知道这一步:

SELECT EmpName, Address FROM tbEmployees

JOIN tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID

但我不确定主管表。

我正在使用 SQL Server。

4

7 回答 7

33

这就是你需要的:

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

您可以在W3Schools上阅读有关此内容的更多信息。

于 2013-07-02T20:14:42.813 回答
15

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

SELECT E.EmpName, E.Address, S.Name, S.Address, S.Project
FROM tbEmployees E
INNER JOIN tbSupervisor S ON E.ID = S.SupervisorID
于 2013-07-02T20:12:43.503 回答
6

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

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

FROM tbEmployees

JOIN tbSupervisor

ON tbEmployees.ID = tbSupervisor.SupervisorID
于 2013-07-02T20:14:22.323 回答
4


    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



于 2013-07-02T20:26:05.480 回答
1

您需要了解别名。它们将使您的查询更易于维护。此外,在引用列时应该始终使用别名,这样您的查询就可以清楚地知道它在做什么:

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

请注意,我还重命名了第二个地址,因此它的名称是唯一的。

于 2013-07-02T20:14:03.867 回答
1

在您的选择中指定表名和字段名

SELECT tbEmployees.EmpName,
       tbEmployees.Address,
       tbSupervisor.[column name]
  FROM tbEmployees
  JOIN tbSupervisor ON tbEmployees.ID = tbSupervisor.SupervisorID
于 2013-07-02T20:14:35.020 回答
1
SELECT product_report.*, 
       product.pgroup 
FROM   `product_report` 
       INNER JOIN product 
               ON product_report.product_id = product.id 
WHERE  product.pgroup = '5' 
ORDER  BY product.id DESC 
于 2020-01-06T05:28:18.297 回答