gpt4 book ai didi

sql - 当 JOIN 列在两个表中具有相同名称时,T-SQL 语法缩写?

转载 作者:行者123 更新时间:2023-12-03 02:02:42 26 4
gpt4 key购买 nike

在 T-SQL 中,当这样的联接发生在两个列上时,是否可以简化 JOIN 规范 (ON …) 以实现两个表之间的等联接两个表中的名称相同?

CREATE TABLE T1 (X … PRIMARY KEY);
CREATE TABLE T2 (X … REFERENCES T1 (X));

通常我会编写这样的(内部)连接,如下所示:

SELECT … FROM T1 JOIN T2 ON T1.X = T2.X;

我想要的是更简单的东西,例如:

SELECT … FROM T1 JOIN T2 ON X;

ON … 规范的这种缩写是否可能以某种方式实现? (我预计答案是“否”,但我想确定一下。)

如果没有,有什么特殊原因吗? (例如,当连接两个以上的表时,是否可能会导致频繁的列歧义,从而没有什么实际用途?)

最佳答案

有一个natural join符合 ANSI 92 SQL 标准

SELECT … FROM T1 NATURAL JOIN T2

但是,SQL Server 不支持此功能。这可能是一件好事,因为当您没有明确指定连接列时可能会出现歧义。

没有像你提到的语法这样的缩写

    FROM T1 JOIN T2 ON X;

关于sql - 当 JOIN 列在两个表中具有相同名称时,T-SQL 语法缩写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25170859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com