組合多個高階 MySQL select 查詢的最佳方式是什麼?


要組合多個高階 MySQL select 查詢,請使用 UNION。我們首先建立一個表 −

mysql> create table DemoTable1 (Value1 int,Value2 int);
Query OK, 0 rows affected (0.62 sec)

使用 insert 命令在表中插入一些記錄 −

mysql> insert into DemoTable1 values(10,29);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1 values(100,190);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable1 values(40,101);
Query OK, 1 row affected (0.12 sec)

使用 select 語句顯示錶中的所有記錄 −

mysql> select *from DemoTable1;

這將產生以下輸出 −

+--------+--------+
| Value1 | Value2 |
+--------+--------+
| 10     | 29     |
| 100    | 190    |
| 40     | 101    |
+--------+--------+
3 rows in set (0.00 sec)

以下是建立第二個表所需的查詢 −

mysql> create table DemoTable2 (Number1 int, Number2 int);
Query OK, 0 rows affected (0.49 sec)

使用 insert 命令在表中插入一些記錄 −

mysql> insert into DemoTable2 values(100,290);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable2 values(200,390);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable2 values(50,170);
Query OK, 1 row affected (0.12 sec)

使用 select 語句顯示錶中的所有記錄 −

mysql> select *from DemoTable2;

這將產生以下輸出 −

+---------+---------+
| Number1 | Number2 |
+---------+---------+
| 100     | 290     |
| 200     | 390     |
| 50      | 170     |
+---------+---------+
3 rows in set (0.00 sec)

以下是組合多個高階 MySQL select 查詢的查詢 −

mysql> (select 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 rows in set (0.04 sec)

更新於: 22-Aug-2019

343 次瀏覽

啟動您的 職業

完成課程獲得證書

開始學習
廣告
© . All rights reserved.