能否用 ORDER BY 在两张不同的表中显示两列不同的列?
为此,你可以使用 UNION 和 ORDER BY 子句。我们首先创建一个表 -
mysql> create table DemoTable1 ( Amount int ); Query OK, 0 rows affected (0.63 sec)
使用插入命令在表中插入一些记录 -
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)
使用插入命令在表中插入一些记录 -
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)
广告