sql-server - INNER JOIN 优于 CROSS APPLY

标签 sql-server tsql join

从我读过 CROSS APPLY它似乎比 INNER JOIN 更好,它可以用于表值表达式,速度更快等。

那么为什么要使用 INNER JOIN根本?

来源:
1 , 2

最佳答案

我肯定会喜欢INNER JOIN当它足以满足您的目的时 - 您不想/不需要(可能)控制每行行为。它在所有 SQL 数据库中实现(其中 CROSS APPLY 不一定在任何地方都可用)并且避免在不需要的地方增加认知开销。

例如。你不会让 future 的读者试图理解你为什么使用 CROSS APPLY仅让他们在 1、5 或 30 分钟后得出结论“我认为应该是 INNER JOIN”。现在他们开始怀疑自己,而您使您的查询更难以快速理解。把它保存在需要的地方,然后它会突出显示“在这里多注意”。

关于sql-server - INNER JOIN 优于 CROSS APPLY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52315111/

相关文章:

sql - 合并到广告订单中

sql-server - SQL将int转换为时间

sql-server - 在 SQL Server 中,用其十六进制代码替换嵌入在字符串中的空字符 Char(0)

sql-server - Node.js 和 Microsoft SQL Server

c# - INSERT 语句中的错误信息

mysql - 使一个查询连接多个表

php - 获取mysql中第三张表的数据

mysql - 优化 MySQL 查询中的多个 JOIN

c# - T-SQL LIKE与ASP.net参数中的通配符

c# - 从 C# 批量数据库插入的最佳方法是什么?