On 3/4/19, Kyle <kmccord0...@gmail.com> wrote:
> On another DB I came across 2 stmts, that I think are equivalent, but
> generated different explain plans. I request a second opinion - are
> these 2 stmts equivalent? If so, why do they generate different explain
> plans even on sqlite?

The two SELECT statements below may well compute the same output
(unless I'm missing something) but they are not the same.  The WHERE
clause in the subquery is different. So why do you expect them to
generate the same query plan?

> create table t1(c,d);
> create table t2(c,d);
> explain select * from t1
>    where c=1 and d in (select d from t2 where c=1);
> explain select * from t1
>    where c=1 and d in (select d from t2 where t2.c=t1.c);


-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to