sql子查询
1 什么是子查询
将一个子查询的结果拥有查询条件中。
2 子查询存在的问题
需要为子查询的结果创建一个临时表,耗内存并且费时。
连接不需要创建临时表,它的操作直接在原表或者原表的索引上进行。
一般情况下可以用连接代替子查询。
SELECT * FROM t1
WHERE t1.a1 NOT
in
(SELECT a2 FROM t2 )
优化后:
SELECT * FROM t1
LEFT JOIN t2 ON t1.a1=t2.a2
WHERE t2.a2 IS NULL
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步