Ami*_*r.F 3 sql sql-server inner-join
假设我有以下SQL查询:
SELECT *
FROM employee
INNER JOIN department ON employee.EmpID = department.EmpID
Run Code Online (Sandbox Code Playgroud)
我想问一下,为什么我要获得两个EmpID
专栏,我怎么才能得到其中一个,最好是第一个.
我正在使用SQL服务器
SELECT employee.EmpID, employee.name, ...
FROM employee
INNER JOIN department ON employee.EmpID=department.EmpID
Run Code Online (Sandbox Code Playgroud)
要精确并指定所需的列,而不是使用星号来选择所有列.
您可以从这两个表中获取所有列,这就是您有两EmpID
列的原因.JOIN
删除公共列的唯一类型NATURAL JOIN
是SQL Server未实现的类型.您的查询看起来像这样:
SELECT *
FROM employee
NATURAL JOIN department
Run Code Online (Sandbox Code Playgroud)
这通过比较两个表中具有相同名称的所有列来生成连接谓词.结果表只包含每对同名列的一列.