Sử dụng UNION kết hợp ORDER BY. Tạo bảng 1:
mysql> CREATE TABLE DemoTable1 (
Amount INT
); Query OK, 0 rows affected (0.63 sec)
Chèn dữ liệu:
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)
Tạo bảng 2:
mysql> CREATE TABLE DemoTable2 (
Price INT
); Query OK, 0 rows affected (0.73 sec)
Chèn dữ liệu:
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)
Truy vấn gộp hai cột, loại trùng lặp (DISTINCT ngầm trong UNION), sắp xếp:
mysql> SELECT DISTINCT Amount FROM DemoTable1 UNION SELECT DISTINCT Price FROM DemoTable2 ORDER BY Amount;
Kết quả:
+--------+ | Amount | +--------+ | 121 | | 134 | | 234 | | 567 | | 775 | | 882 | +--------+ 6 rows in set (0.00 sec)
Lưu ý: UNION mặc định loại trùng lặp. Dùng UNION ALL nếu muốn giữ trùng lặp.