因为了解过一些 SQL 执行顺序,对该 SQL 有些不解的地方,为什么 having 后可用 select 中起的别名
经 google 后得知触发了临时表,有懂得小伙伴烦请告知一下那个情况,如果还能能给解释一下,就更万分感谢了
牛客网简单类题目: https://www.nowcoder.com/practice/ddbcedcd9600403296038ee44a172f2d
select
university,
avg(question_cnt) as avg_question_cnt,
avg(answer_cnt) as avg_answer_cnt
from
user_profile
group by
university
having
avg_question_cnt < 5
or
avg_answer_cnt < 20
8 种触发临时表的情况: https://www.w3cschool.cn/hjikt5/cir4pozt.html
1 、UNION 查询;
2 、用到 TEMPTABLE 算法或者是 UNION 查询中的视图;
3 、ORDER BY 和 GROUP BY 的子句不一样时;
4 、表连接中,ORDER BY 的列不是驱动表中的;
5 、DISTINCT 查询并且加上 ORDER BY 时;
6 、SQL 中用到 SQL_SMALL_RESULT 选项时;
7 、FROM 中的子查询;
8 、子查询或者 semi-join 时创建的表;
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.