Here is an example when left outer join makes the difference. Example could seem very artificial but SQLite should count on any possible usage.
sqlite> create table Employee (name int); sqlite> create table Uniform (employeename, inseam, constraint ue unique (employeename)); sqlite> insert into employee values ("Joe"); sqlite> insert into employee values ("Steve"); sqlite> insert into Uniform values ("Joe", 77); sqlite> insert into employee values (1); sqlite> insert into Uniform values (1, 77); sqlite> insert into Uniform values ("1", 77); sqlite> select Name from Employee left outer join Uniform on Employee.name=Uniform.employeename; Joe Steve 1 1 sqlite> select Name from Employee; Joe Steve 1 sqlite> Pavel On Wed, May 30, 2012 at 1:15 PM, Charles Samuels <char...@cariden.com> wrote: > On Wednesday, May 30, 2012 10:14:22 f.h. Charles Samuels wrote: >> sqlite> select Name from Employee join Uniform on >> Employee.name=Uniform.employeename; >> Joe >> Dave >> sqlite> explain query plan select Name from Employee join Uniform on >> Employee.name=Uniform.employeename; >> 0|0|0|SCAN TABLE Employee (~1000000 rows) >> 0|1|1|SEARCH TABLE Uniform USING COVERING INDEX sqlite_autoindex_Uniform_1 >> (employeename=?) (~1 rows) > > I mean "left outer join" here! > > sqlite> select Name from Employee left outer join Uniform on > Employee.name=Uniform.employeename; > Joe > Steve > Eric > Dave > sqlite> explain query plan select Name from Employee left outer join Uniform > on Employee.name=Uniform.employeename; > 0|0|0|SCAN TABLE Employee (~1000000 rows) > 0|1|1|SEARCH TABLE Uniform USING COVERING INDEX sqlite_autoindex_Uniform_1 > (employeename=?) (~1 rows) > > Charles > (can never proofread enough.) > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users