自然加入相关表格

时间:2013-06-19 18:31:00

标签: sql sql-server

我只能使用自然连接 它不能在sql server中工作,,,我必须从员工表中选择EmpName,EmpDOB和EMPDOB,并从部门表中选择DEPTID ..请帮助

SELECT     DEPARTMENT.DEPTID, EMPLOYEE.EmpID, EMPLOYEE.EMPName, EMPLOYEE.EMPDOB
FROM         DEPARTMENT NATURAL JOIN
                      EMPLOYEE ON DEPARTMENT.DEPTID = EMPLOYEE.DEPTID

3 个答案:

答案 0 :(得分:3)

如果您必须使用NATURAL JOIN,请尝试以下操作:

SELECT D.DEPTID, E.EmpID, E.EMPName, E.EMPDOB
FROM DEPARTMENT D NATURAL JOIN EMPLOYEE E

只要列名DEPTID在两个表上都是SAME。 NATURAL JOIN不需要指定要连接的字段,它可以自己计算出来。

以下是NATURAL JOIN的精彩参考: http://www.w3resource.com/sql/joins/natural-join.php

然而,自然连接在SQL-Server中不起作用,仅在MySQL中。

答案 1 :(得分:3)

SQL-Server尚未实现NATURAL JOIN

如果您想尝试使用它,请尝试使用Oracle或Postgres或MySQL。如果您不允许安装,也可以使用 SQLfiddle.com

答案 2 :(得分:0)

当你使用'='符号时,它只是一个正常的equi-join(显式),而谓词的自然连接是由查询引擎(隐式)计算出来的。 http://en.wikipedia.org/wiki/Join_(SQL)#Natural_join