SQL Server 相当于 MySQL 的 USING
Posted
技术标签:
【中文标题】SQL Server 相当于 MySQL 的 USING【英文标题】:SQL Server equivalent of MySQL's USING 【发布时间】:2010-10-25 22:45:21 【问题描述】:在 mysql 中,当您连接来自不同表的同名列时,您可以在连接中使用关键字 USING。例如,这些查询产生相同的结果:
SELECT * FROM user INNER JOIN perm USING (uid)
SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid
SQL Server 中是否有等效的快捷方式?
【问题讨论】:
【参考方案1】:不,必须使用:
SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid
【讨论】:
【参考方案2】:不,SQL Server 不支持这种快捷方式。
我想指出,即使这样做,像这样的快捷方式也不是一个好主意。我最近在一个数据库上工作,开发人员认为使用 *= and =*
快捷方式进行 RIGHT JOIN 和 LEFT JOIN 是一个好主意。好主意,直到有人将 SQL 兼容性级别升级到 90。然后它变成了一个非常糟糕的主意。
所以,向我们学习。捷径很糟糕。一点额外的打字永远不会杀死任何人。
【讨论】:
您的意思是*=
和=*
? SO 使用星号进行格式化。
是的,我的意思是 = 和 = - 谢谢马特
@MattSolnit USING(uid)
不是ON user.uid = perm.uid
的快捷方式,所以你无法判断,使用USING
是好是坏【参考方案3】:
另外,我会在您的选择语句中添加不要使用通配符“*” - 明确指定列名。
【讨论】:
没错,但我只是想通过一个简短的查询来举例说明 USING 的使用。此处的 SELECT 详细信息无关紧要。以上是关于SQL Server 相当于 MySQL 的 USING的主要内容,如果未能解决你的问题,请参考以下文章
相当于 MySQL REGEXP 的 Microsoft SQL Server
相当于mySQL中的SQL Server函数SCOPE_IDENTITY()?