SQL UNION 操作符
UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語(yǔ)句的結(jié)果集。
請(qǐng)注意,UNION 內(nèi)部的 SELECT 語(yǔ)句必須擁有相同數(shù)量的列。列也必須擁有相似的數(shù)據(jù)類型。同時(shí),每條 SELECT 語(yǔ)句中的列的順序必須相同。
SQL UNION 語(yǔ)法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
注釋:默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,請(qǐng)使用 UNION ALL。
SQL UNION ALL 語(yǔ)法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
另外,UNION 結(jié)果集中的列名總是等于 UNION 中第一個(gè) SELECT 語(yǔ)句中的列名。
另一種連接:內(nèi)連接和外連接
簡(jiǎn)單來(lái)講,隨便來(lái)個(gè)例子:
A表 B表
id name id name
1 a 1 b
2 b 3 c
4 c
內(nèi)連接就是左表和右表相同的數(shù)據(jù):
select * from A inner join B on A.id=B.id
id name id name
1 a 1 b
外連接分為:左外連接、右外連接、全外連接
左外連接就是以左表為準(zhǔn),去匹配右表,左表有多少條數(shù)據(jù),結(jié)果就是多少條數(shù)據(jù)
select * from A left join B on A.id=B.id
id name id name
1 a 1 b
2 b null null
4 c null null
右外連接就是與左外連接反之,以右表為準(zhǔn),去匹配左表,右表有多少條數(shù)據(jù),結(jié)果就是多少條數(shù)據(jù)
select * from A right join B on A.id=B.id
id name id name
1 a 1 b
null null 3 c
全外連接數(shù)據(jù)條數(shù)不一定,相當(dāng)與是左外連接 和右外連接 的綜合
select * from A full join B on A.id=B.id
id name id name
1 a 1 b
2 b null null
null null 3 c
4 c null null
更多信息請(qǐng)查看IT技術(shù)專欄