我只能使用自然连接 它不能在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
答案 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