Trả về các chuỗi tĩnh (hằng chuỗi) trong MySQL với UNION
Sử dụng UNION kết hợp nhiều SELECT 'string' để tạo tập kết quả chứa các chuỗi tĩnh.
Cú pháp cơ bản
SELECT 'yourString1' AS aliasName UNION SELECT 'yourString2' AS aliasName;
Ví dụ: Trả về 'HELLO' và 'MySQL'
mysql> SELECT 'HELLO' AS staticStringsResult UNION SELECT 'MySQL' AS staticStringsResult;
Kết quả:
+---------------------+ | staticStringsResult | +---------------------+ | HELLO | | MySQL | +---------------------+
Lưu ý về UNION vs UNION ALL
UNION: Loại bỏ trùng lặp (mặc định)UNION ALL: Giữ trùng lặp, nhanh hơn
Ví dụ UNION ALL:
mysql> SELECT 'HELLO' AS result UNION ALL SELECT 'HELLO' AS result; +--------+ | result | +--------+ | HELLO | | HELLO | +--------+
Vấn đề phiên bản MySQL cũ
Một số phiên bản cũ yêu cầu ngoặc đơn:
mysql> (SELECT 'HELLO' AS staticStringsResult) UNION (SELECT 'MySQL' AS staticStringsResult);
Ứng dụng thực tế
- Tạo dữ liệu test nhanh:
SELECT 'active' UNION SELECT 'inactive' UNION SELECT 'pending' - Kết hợp với bảng thật:
SELECT name FROM users UNION SELECT 'Guest' AS name - Tạo danh sách giá trị cho ứng dụng frontend (dropdown)
- Debug:
SELECT 'Step 1' AS log UNION SELECT 'Step 2' ...
Mở rộng: Nhiều cột
SELECT 'HELLO' AS col1, 'WORLD' AS col2 UNION SELECT 'MYSQL', 'ROCKS';