Clemens,

On Thu, Jun 11, 2015 at 7:01 AM, Clemens Ladisch <clemens at ladisch.de> wrote:
> Paul Sanderson wrote:
>> I have just been asked whether implicit and explicit join are the same
>>
>> select text, handle.id from message,handle  where handle_id = handle.ROWID;
>
> This is an implicit *inner* join.
>
>> SELECT message."text",  handle.id FROM message  LEFT JOIN handle ON 
>> message.handle_id = handle."ROWID";
>
> This is an explicit *outer* join.
>
> Outer joins are one reason for using explicit joins, but you want to
> compare against a query with the same semantics:
>
>   select text, handle.id from message join handle on handle_id = handle.ROWID;

But even outer joins can be rewritten to use standard semantics:

SELECT <smth> FROM <table_names> WHERE <condition>;

So what is the purpose to use joins at all?

Thank you.

>
>
> Regards,
> Clemens
> _______________________________________________
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to