MySQL 使用篇 組合查詢

2021-10-23 19:30:05 字數 1089 閱讀 6590

組合查詢,也叫合併查詢,就是將多個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...