如何将多个高级MySQL select查询组合在一起?
要组合多个高级MySQL select查询,请使用UNION。首先,让我们创建一个表 –
mysql>创建表DemoTable1(Value1 int,Value2 int);
查询OK,0行受影响(0.62秒)
使用insert命令在表中插入一些记录-
mysql> insert into DemoTable1 values(10,29);
查询OK,1行受影响(0.11秒)
mysql> insert into DemoTable1 values(100,190);
查询OK,1行受影响(0.19秒)
mysql> insert into DemoTable1 values(40,101);
查询OK,1行受影响(0.12秒)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable1;
这将产生以下输出-
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 10 | 29 |
| 100 | 190 |
| 40 | 101 |
+--------+--------+
3行受影响(0.00秒)
以下是创建第二个表的查询 –
mysql>创建表DemoTable2(Number1 int,Number2 int);
查询OK,0行受影响(0.49秒)
使用insert命令在表中插入一些记录 –
mysql> insert into DemoTable2 values(100,290);
查询OK,1行受影响(0.19秒)
mysql> insert into DemoTable2 values(200,390);
查询OK,1行受影响(0.17秒)
mysql> insert into DemoTable2 values(50,170);
查询OK,1行受影响(0.12秒)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable2;
这将产生以下输出-
+---------+---------+
| Number1 | Number2 |
+---------+---------+
| 100 | 290 |
| 200 | 390 |
| 50 | 170 |
+---------+---------+
3行受影响(0.00秒)
以下是组合多个高级MySQL select查询的查询-
mysql>(选择Value1,Value2 from DemoTable1)
union
(select Number1 AS Value1,Number2 AS Value2 from DemoTable2)
order by Value1 DESC;
这将产生以下输出-
+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 200 | 390 |
| 100 | 290 |
| 100 | 190 |
| 50 | 170 |
| 40 | 101 |
| 10 | 29 |
+--------+--------+
6行受影响(0.04秒)
阅读更多:MySQL 教程