I think Codd and Date (the folks at IBM that "invented" SQL) would not
concur with your answer. ;)
Relational databases used the WHERE clause in a variety of ways to "Join"
rowsets. When ANSI got into the picture they standardized on the JOIN syntax
used by most relational engines.
Which is "better"? Well, in Access/JET if you don't use a JOIN, the engine
does not optimize the query as well as when you do. In SQL Server (IIRC)*,
it does not make any difference--the SQL compiler resolves to the same query
plan. If you look at the query plan (Query Analyzer) you can see that the
plans are the same for both syntaxes.
*IIRC (If I recall correctly)
Please reply only to the newsgroup so that others can benefit.
This posting is provided "AS IS" with no warranties, and confers no rights.
> I think the difference is the version of SQL that DB supports. Before
> relational databases the "Where" clause was used, the relational DB
> and voil here comes the Join structure. And because of backward
> compatibility the "Where" clause is still supported, though, in a
> DB environment the Join structure is preferred.
> That's of what I understand, if I'm mistaken please, somebody, could point
> it out.
> Nery R. Gonzlez
> > hi
> > i've noticed that there are two versions of "joins".
> > first, you can use it by "where" clause such as:
> > select t1.c1, t2.c1 from table1 as t1, table2 as t2
> > where t1.c3 = t2.c3
> > and the other version by using "join" :
> > select t1.c1, t2.c1 from table1 as t1
> > inner join table2 as t2 on t1.c3 = t2.c3
> > but what is the difference? is there any msdn article?
> > thanks
> > bert sachs