Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Tạo bảng tạm từ danh sách giá trị phân cách bằng dấu phẩy trong MySQL

MySQL không có hàm tích hợp để chuyển chuỗi phân cách thành bảng, nhưng bạn có thể dùng UNION ALL để xây dựng một tập kết quả đóng vai trò như bảng.

Ví dụ 1: Danh sách 10, 20, 30, 40, 50

mysql> SELECT 10 AS Number UNION ALL
    -> SELECT 20 UNION ALL
    -> SELECT 30 UNION ALL
    -> SELECT 40 UNION ALL
    -> SELECT 50;

Kết quả

+--------+
| Number |
+--------+
| 10     |
| 20     |
| 30     |
| 40     |
| 50     |
+--------+

Ví dụ 2: Danh sách 1, 2, 3

mysql> SELECT 1 AS a UNION ALL SELECT 2 UNION ALL SELECT 3;

Kết quả

+---+
| a |
+---+
| 1 |
| 2 |
| 3 |
+---+

Lưu ý: UNION ALL giữ nguyên trùng lặp và nhanh hơn UNION (loại bỏ trùng). Kỹ thuật này hữu ích cho các truy vấn ad-hoc hoặc JOIN với bảng dẫn xuất.