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

Tạo tập hợp số nguyên (SELECT từ tập giá trị) trong MySQL dùng UNION

Sử dụng UNION để gộp nhiều câu SELECT hằng số thành một result set các số nguyên.

Cú pháp

SELECT giaTri1 UNION SELECT giaTri2 UNION SELECT giaTri3 ...

Ví dụ

mysql> SELECT 1000 UNION SELECT 2000 UNION SELECT 3000 UNION SELECT 4000 UNION SELECT 5000 UNION SELECT 6000 UNION SELECT 7000;
+------+
| 1000 |
+------+
| 1000 |
| 2000 |
| 3000 |
| 4000 |
| 5000 |
| 6000 |
| 7000 |
+------+
7 rows in set (0.03 sec)

Đặc điểm UNION:

  • Tự động loại bỏ trùng lặp (giống DISTINCT)
  • Tất cả SELECT phải cùng số cột và kiểu tương thích
  • Dùng UNION ALL để giữ trùng lặp (nhanh hơn)

Ứng dụng: Tạo danh sách giá trị tĩnh cho IN, JOIN, hoặc bảng số (numbers table) tạm thời.

MySQL 8.0+: Dùng WITH RECURSIVE (CTE) để sinh dãy số hiệu quả hơn cho نطاق lớn.