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  
原文地址:https://www.cnblogs.com/hustdc/p/8907780.html