You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL LEFT JOIN中两种日期范围条件写法对比:哪种更优?

SQL JOIN条件写法对比:等价性与偏好分析

核心结论

这两种写法完全等价,你观察到执行计划无差异的结果已经说明问题:主流关系型数据库(如MySQL、PostgreSQL、SQL Server等)的查询优化器会将这两个条件解析为完全相同的执行逻辑,因此性能上没有任何区别。

写法偏好分析

  • 可读性优先选BETWEEN写法:
    x.date BETWEEN y.date_1 AND y.date_2更贴合自然语言的表述逻辑,一眼就能理解是判断x.date落在y.date_1到y.date_2的闭区间内,代码更简洁,后续维护成本更低,也是多数团队更青睐的写法。
  • 边界特性完全一致:
    要明确BETWEEN本身就是包含两端值的闭区间判断,和y.date_1 <= x.date AND y.date_2 >= x.date的逻辑毫无差别,不存在边界判断的隐藏差异。
  • 拆分写法的适用场景:
    如果后续需要调整边界条件(比如把<=改成<,或者增加额外的区间判断逻辑),拆分的AND写法修改起来更直接灵活,但如果是固定的闭区间匹配,BETWEEN写法依然是最优选择。

内容的提问来源于stack exchange,提问作者Tender_Figs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:57:10