MySQL多表查詢之縱向合併

縱向合併查詢又稱爲聯合查詢,它是用union關鍵字把多條select語句的查詢結果合併爲一個結果集。
縱向合併的前提是被合併的結果集的字段數量、順序和數據類型必須完全一致。字段名不一樣的情況下,會將第一個結果集的字段名作爲合併後的虛擬結果集的字段名。

select <字段1>[,<字段2>,] from <表名1>
union[ all] 
select <字段1>[,<字段2>,] from <表名2>;
create table t1(key1 char,v1 int);
create table t2(key2 char,v2 int);

insert into t1 values('a',1),('a',2),('b',3),('c',4),('a',13);
insert into t2 values('b',10),('b',11),('a',12),('a',13),('e',14);
  • union去重
mysql> select * from t1
    -> union
    -> select * from t2;
+------+------+
| key1 | v1   |
+------+------+
| a    |    1 |
| a    |    2 |
| b    |    3 |
| c    |    4 |
| a    |   13 |
| b    |   10 |
| b    |   11 |
| a    |   12 |
| e    |   14 |
+------+------+
  • union all不去重
mysql> select * from t1
    -> union all
    -> select * from t2;
+------+------+
| key1 | v1   |
+------+------+
| a    |    1 |
| a    |    2 |
| b    |    3 |
| c    |    4 |
| a    |   13 |
| b    |   10 |
| b    |   11 |
| a    |   12 |
| a    |   13 |
| e    |   14 |
+------+------+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章