在 MySQL 中,当您连接来自不同表的具有相同名称的列时,您可以在连接中使用关键字 USING。例如,这些查询产生相同的结果:
SELECT * FROM user INNER JOIN perm USING (uid)
SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid
SQL Server 中是否有等效的快捷方式?
在 MySQL 中,当您连接来自不同表的具有相同名称的列时,您可以在连接中使用关键字 USING。例如,这些查询产生相同的结果:
SELECT * FROM user INNER JOIN perm USING (uid)
SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid
SQL Server 中是否有等效的快捷方式?
不,必须使用:
SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid
不,SQL Server 不支持这种快捷方式。
我想指出,即使确实如此,像这样的捷径也不是一个好主意。我最近在开发一个数据库,开发人员认为使用*= and =*
RIGHT JOIN 和 LEFT JOIN 的快捷方式是个好主意。好主意,直到有人将 SQL 兼容性级别升级到 90。然后它变成了一个非常糟糕的主意。
所以,向我们学习。捷径很糟糕。一点额外的打字永远不会杀死任何人。
另外,我会在您的选择语句中添加不要使用通配符“*” - 明确指定列名。