首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为NATURAL JOIN生成的整个表创建别名?

如何为NATURAL JOIN生成的整个表创建别名?
EN

Stack Overflow用户
提问于 2015-10-12 21:27:38
回答 2查看 1.3K关注 0票数 0
代码语言:javascript
运行
复制
SELECT A.ename FROM (emp NATURAL JOIN dept) A;

这会产生ERROR at line 1: ORA-00933: SQL command not properly ended

最后,我能够以更精细的方式实现这一点:

代码语言:javascript
运行
复制
SELECT A.ename FROM (SELECT * FROM emp NATURAL JOIN dept) A;

这是可行的,但我怀疑一定有一种更简单的方法来做到这一点,那就是不需要嵌套查询。是真地吗?

EN

Stack Overflow用户

发布于 2015-10-12 22:02:21

@Robert Merkwürdigeliebe是对的,使用自然连接是不好的,因为如果您将在两个表中添加具有相同名称和类型的列,则您的连接将以不同于现在的方式工作。

但是,如果您仍然想练习自然连接-您可以为每个表指定别名,但是当您要调用列(在SELECT语句的任何部分中)时-您就不能使用这个别名。因此,实际上您不需要表别名

代码语言:javascript
运行
复制
SELECT d.department_id
FROM employees e NATURAL JOIN departments d;

ORA-25155: column used in NATURAL join cannot have qualifier

代码语言:javascript
运行
复制
SELECT department_id, last_name
FROM employees e NATURAL JOIN departments d;

作品

票数 2
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33082394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档