**** inner Cartesian product SELECT * FROM T1 INNER JOIN T2 ON .T. SELECT * FROM T1,T2 * SELECT * FROM T1 CROSS JOIN T2 on SQL Server **** outer Cartesian product SELECT * FROM T1 LEFT JOIN T2 ON .T. SELECT * FROM T1 RIGHT JOIN T2 ON .T. SELECT * FROM T1 FULL JOIN T2 ON .T.are differents Cartesian product.
SELECT * FROM T1 FULL JOIN T2 ON .T.with a other simple SELECT command
CREATE CURSOR T1 (F1 I ) CREATE CURSOR T2 (F2 I ) INSERT INTO T1 VALUES (1) INSERT INTO T1 VALUES (2) INSERT INTO T2 VALUES (1) SELECT * FROM T1 FULL JOIN T2 ON F1=m.x AND F2=F1 && this is OK x=1 SELECT * FROM T1 FULL JOIN T2 ON F1=m.x AND F2=m.x && this is NOKAny not optimized FULL JOIN can return bad records,