mysql 不支持子查询 那应该如何实现查询

2025-04-16 02:49:33
推荐回答(2个)
回答1:

可以使用视图或者临时表,将无参数的子查询结果放到视图,有参数的子查询临时表中 问题是mysql 支持子查询啊

回答2:

Semi-join 限制

不过并不是所有子查询都是半联接,必须满足以下条件:

  • 子查询必须是出现在顶层的 WHERE、ON 子句后面的 IN 或者 =ANY
  • 子查询必须是单个 select,不能是 union;
  • 子查询不能有 group by 或者 having 子句(可以用 semijoin materialization 策略,其他不可以 );
  • It must not be implicitly grouped (it must contain no aggregate functions). (不知道啥意思,保持原文);
  • 子查询不能有 order by with limit;
  • 父查询中不能有 STRAIGHT_JOIN 指定联接顺序;
  • The number of outer and inner tables together must be less than the maximum number of tables permitted in a join.