首页/数据/SQL 速查/非等值连接:范围与不等条件
本包目录(311 条)

非等值连接:范围与不等条件

连接条件可以用任何布尔表达式:价格落在区间、时间重叠等场景用范围连接,注意区间重叠会导致一行命中多条规则。

SQL 速查数据更新于 2026-10-12

区间匹配

区间匹配
SELECT p.name, pr.level
FROM products p
JOIN price_rules pr
  ON p.price >= pr.min_price
 AND p.price <  pr.max_price
ORDER BY p.id;
条件ON 支持 >=、<、BETWEEN 等任意表达式
索引非等值条件难以走等值索引,大表评估代价
边界统一左闭右开可避免相邻区间重复命中

易错点

  • 区间边界不统一时,边界值可能命中两条规则或一条都不命中
  • 范围连接的行数取决于区间重叠程度,先用小范围数据核对结果再放到生产

数据来源与参考

  • MySQL 8.0 Reference Manual · JOIN Clause
  • PostgreSQL Documentation · Joined Tables
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌