組合查詢,也叫合併查詢,就是將多個sql語句的查詢結果集合並為乙個大的結果集。
比如有如下兩個sql語句
mysql> select m1 from t1 where m1 < 2;
+------+
| m1 |
+------+
| 1 |
+------+
1 row in set (0.00 sec)
mysql> select m1 from t1 where m1 > 2;
+------+
| m1 |
+------+
| 3 |
+------+
1 row in set (0.00 sec)
mysql>
正常來說,我們可以使用or
將結果合併,但是sql語句複雜的話,可能不太適用了
select m1 from t1 where m1 < 2 or m1 > 2;
+------+
| m1 |
+------+
| 1 |
| 3 |
+------+
我們還可以使用union
來將結果連線在一起。
select m1 from t1 where m1 < 2 union select m1 from t1 where m1 > 2;
# 多個sql查詢也可以
select m1 from t1 where m1 < 2 \
union select m1 from t1 where m1 > 2 \
union select m1 from t1 where m1 = 2;
只要兩個結果集 列的數量相同就可以,列名和型別不同也不妨礙使用,使用的時候以前面的sql為準。
當我們使用sql1 union sql2
查詢的時候,sql1 和 sql2 資料有重複,則結果集不會重複顯示,如果需要顯示,則使用sql1 union all sql2
mysql 組合查詢 mysql組合查詢
使用union 多數sql查詢都只包含乙個或多個表中返回資料的單條select語句。mysql也允許執行多個查詢 多條select語句 並將結果作為單個查詢結果集返回。這些組合查詢通常稱為並 union 有兩種情況需要使用組合查詢 在單個表查詢中從不同的表返回類似結構的資料 對單個表執行多個查詢,按...
MySQL 使用篇 連線查詢
現有t1t2兩張表 mysql select from t1 m1 n1 1 a 2 b 3 c 3 rows in set 0.00 sec mysql select from t2 m2 n2 2 b 3 c 4 d 3 rows in set 0.00 sec mysql 連線連線查詢,如果不...
MySQL組合查詢
組合查詢 mysql允許執行多個查詢 多條select語句 並將結果作為單個查詢結果集返回。一 建立組合查詢 可用union操作符來組合數條sql查詢。利用union,可給出多條select語句,將它們的結果組合成單個結果集。下面是兩個單個查詢例子 select vend id,prod id,pr...