如何在MySQL中使用union和order by子句?

如何在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和ORDER BY的查询。

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)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程