ERROR at line 1: ORA-00933: SQL command not properly ended
这会产生SELECT A.ename FROM (SELECT * FROM emp NATURAL JOIN dept) A;
。
最后,我能够以更精细的方式实现这一目标:
{{1}}
这样可行,但我怀疑必须有一种更简单的方法来执行此操作,这不需要嵌套查询。是这样吗?
答案 0 :(得分:1)
@RobertMerkwürdigeliebe对,使用NATURAL JOIN并不好,因为如果你要在两个表中添加具有相同名称和类型的列,你的连接将以不同的方式工作。
但是如果您仍想在NATURAL JOIN中练习 - 您可以为每个表提供别名,但是当您调用列时(在SELECT语句的任何部分中) - 您不能使用此别名。所以实际上你不需要表别名
SELECT d.department_id
FROM employees e NATURAL JOIN departments d;
ORA-25155: column used in NATURAL join cannot have qualifier
BUT
SELECT department_id, last_name
FROM employees e NATURAL JOIN departments d;
作品
答案 1 :(得分:0)
简单回答:永远不要使用自然连接!
而是明确定义连接。自然连接为您自动执行操作,因此容易出错。编程时不是一件好事。