使用 ORDER BY 显示来自两个不同表的两个不同列?

mysqlmysqli database

为此,您可以将 UNION 与 ORDER BY 子句一起使用。让我们首先创建一个表 −

mysql> create table DemoTable1
(
   Amount int
);
Query OK, 0 rows affected (0.63 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1 values(234);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1 values(567);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1 values(134);
Query OK, 1 row affected (0.43 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable1;

这将产生以下输出 −

+--------+
| Amount |
+--------+
|    234 |
|    567 |
|    134 |
+--------+
3 rows in set (0.00 sec)

这是创建第二个表的查询 −

mysql> create table DemoTable2
(
   Price int
);
Query OK, 0 rows affected (0.73 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable2 values(134);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable2 values(775);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable2 values(121);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable2 values(882);
Query OK, 1 row affected (0.09 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable2;

这将产生以下输出 −

+-------+
| Price |
+-------+
|   134 |
|   775 |
|   121 |
|   882 |
+-------+
4 rows in set (0.00 sec)

以下查询使用 ORDER BY 显示两个不同表中的两个不同列 −

mysql> select distinct Amount from DemoTable1
   UNION
   select distinct Price from DemoTable2
   order by Amount;

这将产生以下输出 −

+--------+
| Amount |
+--------+
|    121 |
|    134 |
|    234 |
|    567 |
|    775 |
|    882 |
+--------+
6 rows in set (0.00 sec)

相关文章