Re: [NF] Conditions in JOIN clause instead of WHERE

Author: Charlie Coleman

Posted: 2019-04-03 at 16:46:34

OK, so we're back to it does not yield a different result (nor an error),

but in regards to readability using INNER JOIN is more clear. But we should

add that INNER JOIN is the more modern standard of use. One of the

responses on Stack Overflow mentions "accidental cross-joins" but I have

not experienced that even with my most complicated "WHERE" clauses (of

course, like all my code, I sometimes do not get the statement correct on

the first try, but that can happen with my "JOINS" as well as my "WHERES"

<g>).

-Charlie

On Wed, Apr 3, 2019 at 5:35 PM Eric Selje <Eric@saltydogllc.com> wrote:

> This StackOverflow question seems to sum it up:

>

>

> https://stackoverflow.com/questions/1599050/will-ansi-join-vs-non-ansi-join-queries-perform-differently

>

>

> On Wed, Apr 3, 2019 at 4:32 PM Eric Selje <Eric@saltydogllc.com> wrote:

>

> > I don't remember specifically, but when you run into it and start

> > scratching your head wondering why you're getting a syntax error - you'll

> > know! :)

> >

> > On Wed, Apr 3, 2019 at 3:55 PM Charlie-gm <ccbibleman@gmail.com> wrote:

> >

> >>

> >> Hey Eric,

> >>

> >> What do you mean? I have not run into a SQL DBMS that does not support

> >> both WHERE and INNER JOIN.

> >>

> >> -Charlie

> >>

> >>

> >> On 4/3/2019 4:35 PM, Eric Selje wrote:

> >> > Just be aware that VFP's SQL lets you get away with that, but not all

> >> > incarnations of SQL will.

> >> >

> >> > Eric

> >> >

> >> >

> >> > On Tue, Apr 2, 2019 at 5:22 PM Charlie-gm <ccbibleman@gmail.com>

> wrote:

> >> >

> >> >> My experience has shown either syntax (WHERE vs INNER JOIN) to

> provide

> >> >> the same result without noticeable performance difference.

> >> >>

> >> >> I think the INNER JOIN syntax was added later in the SQL standards.

> >> >>

> >> >> If you solely use JOIN statements, one could argue the readability is

> >> >> better (aka more explicit). Other than that, perhaps a particular

> DBMS

> >> >> would "optimize better" with INNER JOIN or WHERE - but I kind of

> doubt

> >> it.

> >> >>

> >> >> -Charlie

> >> >>

> >> >>

> >> >> On 4/2/2019 6:05 PM, Garrett Fitzgerald wrote:

> >> >>> Hey, all. I had a general SQL question. Often, I find myself needing

> >> to

> >> >> use

> >> >>> the syntax:

> >> >>>

> >> >>> FROM a

> >> >>> LEFT JOIN b ON a.key = b.key AND b.field = 'Value'

> >> >>>

> >> >>> because if I filter b.field in the WHERE clause, I've effectively

> made

> >> >> the

> >> >>> LEFT JOIN an inner one.

> >> >>>

> >> >>> That makes me wonder, at what point do we stop moving conditions to

> >> the

> >> >>> JOIN clause? Obviously, some can't move for syntactical reasons,

> such

> >> as

> >> >>> subqueries. But short of that, when does it make sense to limit a

> >> >> non-outer

> >> >>> join in the join criteria? Never?

> >> >>>

> >> >>>

> >> >>> --- StripMime Report -- processed MIME parts ---

> >> >>> multipart/alternative

> >> >>> text/plain (text body -- kept)

> >> >>> text/html

> >> >>> ---

> >> >>>

[excessive quoting removed by server]

_______________________________________________

Post Messages to: ProFox@leafe.com

Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox

OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech

Searchable Archive: http://leafe.com/archives/search/profox

This message: http://leafe.com/archives/byMID/profox/CAJGvLx0FyLGM_mMd17SCJ5Zm-MVZ2Xk1rgEu0_G_VAO00XM2Ag@mail.gmail.com

** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.

©2019 Charlie Coleman