问题描述:
Join与Union使用
问题解决:
Join连接,可以分为:
tableA如下:
tableB如下:
1.1、Inner Join
SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name
结果集为A和B的交集
1.2、Outer Join
1.2.1 Full Outer Join
SELECT * FROM TableA FULL JOIN TableB
Full outer Join 产生A与B的并集,对于没有匹配的记录,会以null作为值
1.2.2 Left Outer Join
左连接:以左表为主表,右边的为辅表,产生左表的完全集,右表没有匹配的以null代替。
SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name
Left Outer Join 产生表A的完全集,而B表中匹配的则有值,没有匹配的以null代替
1.2.3 Right Outer Join
右连接:以右表为主表,左边的为辅表,产生右表的完全集,左表没有匹配的以null代替。
产生表B的完全集,而A表中匹配的则有值,没有匹配的以null代替。
SELECT * FROM TableA RIGHT OUTER JOIN TableB ON TableA.name = TableB.name
2、Union
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
SELECT * FROM TableA UNION SELECT * FROM TableB