按行合併兩個sql的查詢結果

2021-05-28 06:33:36 字數 1185 閱讀 3857

union all

join 是平行合併 為水平連線

union all 是垂直合併 是將兩個結果聯結起來

union all 的語法:

[sql 語句 1] 

union all 

[sql 語句 2]

union 語法跟union all 一樣 union 會排除重覆記錄 效果類似 distinct

*-----------------------------

合併資料集合的理論基礎是關係代數,它是由e.f.codd於2023年提出的。

在關係代數的形式化語言中:

         用表、或者資料集合表示關係或者實體。

         用行表示元組。

         用列表示屬性。

關係代數包含以下8個關係運算子

         選取――返回滿足指定條件的行。

         投影――從資料集合中返回指定的列。

         笛卡爾積――是關係的乘法,它將分別來自兩個資料集合中的行以所有可能的方式進行組合。

         並――關係的加法和減法,它可以在行的方向上合併兩個表中的資料,就像把乙個表壘在另乙個表之上一樣。

         交――返回兩個資料集合所共有的行。

         差――返回只屬於乙個資料集合的行。

         連線――在水平方向上合併兩個表,其方法是:將兩個表中在共同資料項上相互匹配的那些行合併起來。

         除――返回兩個資料集之間的精確匹配。

此外,作為一種實現現代關係代數運算的方法,sql還提供了:

         子查詢――類似於連線,但更靈活;在外部查詢中,方式可以使用表示式、列表或者資料集合的地方都可以使用子查詢的結果。

cross join         笛卡爾乘積(所有可能的行對)

union                    需要字段數量相等

inner join         僅對滿足連線條件的cross中的列

left outer join         乙個表滿足條件的行,和另乙個表的所有行

right outer join         與left相同,但兩個表的角色互換

full outer join        left outer 和 right outer中所有行的超集

mysql 合併兩個查詢結果

顯然,查詢結果的time為主鍵,目的是將兩個查詢結果合成乙個結果。如果在 中實現,一次便利乙個表新增到另外乙個表中,效率非常低。那麼在mysql 中實現方式為 出金 withdraw select from select date complete time as time,sum amt as a...

SQL語句裡合併兩個select查詢結果

sql union 操作符 union 操作符用於合併兩個或多個 select 語句的結果集。請注意,union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同。sql union 語法 select column na...

mysql 兩個查詢結果合併去重 SQL多表查詢

知識框架 1.表的加法 union 去重 union將兩個表的資料按行合併在一起,兩個表重複的資料只保留乙個 union all 不去重 union all將兩個表的資料按行合併在一起並保留重複行。2.表的聯結 2.1.交叉聯結cross join 交叉聯結又稱笛卡爾積,交叉聯結是對兩張表中的全部記...