如何在 MySQL 中使用 union 和 order by 子句?
Union 是 MySQL 中的一個運算子型別。我們可以使用 ORDER BY 篩選記錄。如果您想要從多個表或單個表的多個行集中選擇一行接一行地顯示,可作為單個結果集使用 UNION。
我們來看一個示例。
建立第一個表
mysql> create table UnionDemo1 -> ( -> id int -> ); Query OK, 0 rows affected (0.59 sec)
在第一個表中插入記錄。
mysql> insert into UnionDemo1 values(1),(4),(10); Query OK, 3 rows affected (0.21 sec) Records: 3 Duplicates: 0 Warnings: 0
顯示所有記錄。
mysql> select *from UnionDemo1;
以下輸出顯示所有記錄。
+------+ | id | +------+ | 1 | | 4 | | 10 | +------+ 3 rows in set (0.00 sec)
我們建立第二個表。
mysql> create table UnionDemo2 -> ( -> id int -> ); Query OK, 0 rows affected (0.54 sec)
在第二個表中插入記錄。
mysql> insert into UnionDemo2 values(2),(3),(5),(6),(7),(8),(9); Query OK, 7 rows affected (0.21 sec) Records: 7 Duplicates: 0 Warnings: 0
顯示所有記錄。
mysql> select *from UnionDemo2;
這是輸出。
+------+ | id | +------+ | 2 | | 3 | | 5 | | 6 | | 7 | | 8 | | 9 | +------+ 7 rows in set (0.00 sec)
我們現在來看看按順序應用 UNION 的查詢。
mysql> select id from UnionDemo1 -> union -> select id from UnionDemo2 -> order by id desc;
以下輸出。
+------+ | id | +------+ | 10 | | 9 | | 8 | | 7 | | 6 | | 5 | | 4 | | 3 | | 2 | | 1 | +------+ 10 rows in set (0.05 sec)
廣告