news <[EMAIL PROTECTED]> wrote on 12/19/2005 11:37:41 AM:

> Hi Shawn,
> 
> > That means that MySQL supports the means to determine what rows are in
> > each area of our diagram based on the direction of the join (INNER, 
LEFT,
> > or RIGHT), the conditions declared in the ON clause, and any filtering 
of
> > the results based on the WHERE conditions.
> 
> Based on the experience I posted on JOINs can you tell a special case 
where
> RIGHT can't be replaced by LEFT JOINs ?
> To me it looks the same and both syntaxes are equally readable.
> 
> 
> >the original summations. Let's straighten out your understanding of 
JOINs
> > before we delve into GROUP BY and WITH ROLLUP much further, ok?
> 
> Perfect. I stay on the JOIN for now.
> 
> Sandy
> 

Off the top of my head, I cannot imagine a query that uses RIGHT JOINs or 
combinations of INNER JOINs and RIGHT JOINs that could not be transformed 
into using LEFT JOINs or combinations of LEFT and INNER JOINs. 

Personally, I try to use only INNER JOIN, LEFT JOIN, and CROSS JOIN when 
building the <table reference> portion of any query. I just prefer the 
flow of it and the control I get over the query using just those joins and 
try to never, ever use the comma-separated (implicit) form of declaring a 
CROSS JOIN. I try to list INNER JOINs before LEFT JOINs and I avoid the 
need to use parentheses. I also try to limit myself to joining 5 or fewer 
tables per query (there are exceptions, of course).

There have been times when I needed the predicate FULL OUTER JOIN, but 
MySQL does not support it yet so I had to use a workaround. I have never 
tried a NATURAL join or used a USING clause so your results (in the other 
thread) were very interesting to me. 

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine

Reply via email to