【发布时间】:2019-11-21 12:52:43
【问题描述】:
我有两个表有许多相同的列名,所以当我加入表时,我需要在列名之前添加表名。有什么方法可以在列名之前获取表名引用,而无需在 select 子句中的每一列之前键入它?
在此示例中,两个表中都有很多列,其中许多列具有相同的名称,因此我需要编写 TABLE2。在选择的每一列之前。有没有更简单的添加方法?
SELECT TABLE1.column1, TABLE2.column2, TABLE2.column3, TABLE2.column4,...
FROM TABLE1, TABLE2
WHERE TABLE1.column1 = TABLE2.column1;
【问题讨论】:
-
唯一的方法是在每个表中设置一个别名...
table1 as a, table2 as b并使用a.column = b.column -
您的示例没有重复的列名,因此它没有传达任何有用的信息。
-
@Roy 是的,使用表别名;但是您的代码示例在语法上是无效的,因为 Oracle 在表别名之前没有使用
AS关键字。 -
今日提示:切换到现代、明确的
JOIN语法。更容易编写(没有错误),更容易阅读(和维护),如果需要更容易转换为外连接