Subject Re: JOINs vs WHERE
Author Svein Erling
--- In firebird-support@yahoogroups.com, "David Johnson wrote:
> The former syntax is an implicit inner join. It is more common in
> industry where programmers are building queries on a daily basis
> because it is easier for programmers to read, but it is identical in
> function to the explicit join syntax you are asking about.

Huh? I consider myself a programmer and write queries most weekdays,
but I still consider JOINs easier to understand (particularly in
complex queries where I have no knowledge of the tables involved). I'd
rather say that using the WHERE clause for JOIN conditions is
sufficient if you do not care about OUTER JOINs, and that since it
works almost equally well, 'old' programmers (I'm 'oldish') do not
need to change their coding style. Also, it would not surprise me if
some other databases do not support JOINs and that using the WHERE
clause means that one needs to explain less to fellow programmers
(since it is impossible to write decent SQL without understanding a
bit about the WHERE clause, whereas it is possible without
understanding the JOIN clause).

> The explicit syntax allows easier refactoring to outer joins, and
> may give the optimizer better direction in binding complex queries,
> but once the binding (prepare) is done the performance should be the
> same.

Add that using explicit JOINs may help whatever tools you are using. I
use IBO, and with explicit JOINs there is no need to fill in KeyLinks.

Set