select * from a1 a left join a2 b on a.aa=b.cc where b.cc='3'
中,是先执行外连接,再用where 条件筛选。然而毕竟大量数据的连接会耗时较长,在语义允许的情况下,如果想先对某表筛选,再连接,应该如何操作? 可写成如下形式:
select * from a1 a left join (select * from a2 where a2.cc='3') b on a.aa=b.cc;
当然,先where还是先on的结果往往是不同的。这里只是指出如何强制使筛选先发生的方法罢了。
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/408.html