> > * /-----\ /-----\ > > * / \ / \ > > * / X \ > > * / / \ \ > > * / / \ \ > > * | A | B | C | > > * \ \ / / > > * \ \ / / > > * \ X / > > * \ / \ / > > * \-----/ \-----/ > > * > > > > Ok so INNER JOIN (B) is actually A intersection of B (in maths > language) > > and A and C are peripherals (outer) > > > > No, LEFT CIRCLE (intersect) RIGHT CIRCLE defines the set that should be > returned by an INNER JOIN. That would be just Area B. It's only going to > return those rows from either table that match the ON condition(s).
Right that's qhet I had in mind but I wrote A int B instead of A int C. > > So LEFT JOIN = A > > Hence RIGHT JOIN is C ?? > > Almost... It's my fault for rushing through this. a LEFT JOIN is: > LEFT CIRCLE (union) (LEFT CIRCLE (intersect) RIGHT CIRCLE) Actually LEFT JOIN depends on the left part of the predicate : select A , C from A left join C represents A + A int C (B) and select C, A from C left join C represents C + C int A (B) and select C , A from A left join C represents A + C int A (B) but the columns of C precede those of A in the produced table. Isn't it ? Sandy -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]