Truy vấn MySQL lấy kết quả từ nhiều câu lệnh select
Để lấy kết quả từ nhiều câu lệnh select, hãy sử dụng UNION ALL. Cú pháp như sau:
select yourValue1 AS anyColumnName UNION ALL select yourValue2 AS yourColumnName ... N
Triển khai cú pháp trên để trả về liệt kê số trong các hàng khác nhau:
mysql> select 100 AS Number
UNION ALL
select 1000 AS Number
UNION ALL
select 10000 AS Number
UNION ALL
select 100000 AS Number
UNION ALL
select 1000000 AS Number
UNION ALL
select 10000000 AS Number
UNION ALL
select 100000000 AS Number
UNION ALL
select 1000000000 AS Number;
Điều này sẽ tạo ra đầu ra sau:
+------------+ | Number | +------------+ | 100 | | 1000 | | 10000 | | 100000 | | 1000000 | | 10000000 | | 100000000 | | 1000000000 | +------------+ 8 rows in set (0.00 sec)
Giải thích:
UNION ALL: Gộp kết quả, giữ trùng lặp, nhanh hơn UNION.UNION(không ALL): Gộp và loại bỏ trùng lặp (tốn hiệu suất).- Mỗi SELECT phải có cùng số cột và kiểu dữ liệu tương thích.
AS Numberđặt tên cột cho kết quả gộp (lấy từ SELECT đầu tiên).