~左外连接(LEFT OUTER JOIN或LEFT JOIN)
~右外连接(RIGHT OUTER JOIN或RIGHT JOIN)
~全外连接(FULL OUTER JOIN或FULL JOIN)
~交叉连接(CROSS JOIN)
左外联时间左边的表为主表,右外联时间右边的表为主表,另一表则为附表.
倘若[on部分]中仅存在两表关联条件(如:table1.a = table2.a),则主表将保证所有数据不丢失
倘若[on部分]中存在非两表关联条件(如:table1.a = 'a'),则主表将遵循该条件先对table1进行筛选再进行指定连接,因而并不能保证所有数据不丢失
使用outer join 的查询应注意where后面条件的选择,
由于外连接优先级将高于where,因此将先于where生成查询所用的临时表,where后的条件应注意防止屏蔽掉该临时表中某些字段null值,否则可能导致主表中对应数据的丢失
例:
SELECT User.Key,User.Info,Sub.Info FROM(User full outer join Sub ON User.Key=Sub.Key