更新时间:2025-03-13 GMT+08:00

子查询

  • 【规则】禁止一条SQL语句中,出现重复子查询语句。
  • 【建议】少用标量子查询。

    标量子查询指结果为一个值,并且条件表达式为等值的子查询。示例如下:

    不符合规范的语句

    SELECT * FROM t1 WHERE id = (SELECT id FROM t2 LIMIT 1);

    上述语句建议业务拆分为两条SQL语句,先执行子查询。

  • 【建议】避免在SELECT目标列中使用子查询,可能导致计划无法下推影响执行性能。
  • 【建议】子查询嵌套深度不建议超过两层。

    由于子查询会带来临时表开销,过于复杂的查询应考虑从业务逻辑上进行优化。