SQL Server中与MySQL的USING相当的是什么?

5

在MySQL中,当您在不同的表中使用具有相同名称的列进行连接时,可以在连接中使用关键字USING。例如,这些查询将产生相同的结果:

SELECT * FROM user INNER JOIN perm USING (uid)
SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid

在SQL Server中是否有相应的快捷方式?
3个回答

15

不行,必须使用:

SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid

6
不支持这种快捷方式SQL Server。
我想指出即使支持,这种快捷方式也不是一个好主意。我最近在处理一个数据库时发现开发人员认为使用*= 和 =*这样的快捷方式代替RIGHT JOIN和LEFT JOIN是个好主意。直到有人将SQL兼容级别升级到90,才发现这是一个非常糟糕的想法。
因此,我们要吸取教训,快捷方式是不好的,多打几个字不会害死任何人。

你是不是想说 *==*?SO 使用星号进行格式化。 - Matt Solnit
是的,我是指 = 和 = - 谢谢 Matt - Sam Axe
@MattSolnit USING(uid) 不是 ON user.uid = perm.uid 的快捷方式,因此您无法确定使用 USING 是好还是坏的主意。 - Vexator

1
此外,我建议不要在查询语句中使用通配符“*”,而是明确指定列名。

没错,但我只是想进行一个简短的查询来说明使用USING的用法。这里的SELECT细节并不重要。 - Dinah

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接