Pavel Ivanov wrote:
> 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>

I'd rather call this sqlite bug.
Either "=" should return false, or "UNIQUE" constraint must reject duplicate 
rows.

> 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

Reply via email to