On 3/4/19, Kyle <[email protected]> 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
[email protected]
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to