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

Thêm nhiều cột không tồn tại vào kết quả SELECT trong MySQL

Tóm tắt

Dùng nhiều AS trong SELECT để tạo cột ảo (computed column) với giá trị hằng số hoặc biểu thức – không thay đổi cấu trúc bảng.

Ví dụ

1. Tạo bảng

CREATE TABLE ColumnDoesNotExists (
    UserId INT,
    UserName VARCHAR(20)
);
INSERT INTO ColumnDoesNotExists VALUES
(100,'Larry'), (101,'Sam'), (102,'Mike'), (103,'David'),
(104,'Robert'), (105,'Maxwell'), (106,'Bob'), (107,'John'), (108,'James');

2. Thêm 1 cột ảo Age

SELECT UserId, UserName, 23 AS Age FROM ColumnDoesNotExists;

3. Thêm 3 cột ảo Age, Marks, CountryName

SELECT UserId, UserName, 
       23 AS Age, 
       99 AS Marks, 
       'UK' AS CountryName
FROM ColumnDoesNotExists;

4. Kết quả

+--------+----------+-----+-------+-------------+
| UserId | UserName | Age | Marks | CountryName |
+--------+----------+-----+-------+-------------+
| 100    | Larry    | 23  | 99    | UK          |
| 101    | Sam      | 23  | 99    | UK          |
| ...    | ...      | ... | ...   | ...         |
+--------+----------+-----+-------+-------------+

Ứng dụng

  • Thêm cột tính toán: (price * qty) AS total
  • Thêm cột mặc định cho report/export.
  • Đổi tên cột: UserName AS TenNguoiDung
  • Kết hợp CASE: CASE WHEN status=1 THEN 'Active' ELSE 'Inactive' END AS StatusText

Lưu ý

  • Cột ảo chỉ tồn tại trong kết quả truy vấn – không lưu vào đĩa.
  • Không thể dùng cột ảo trong WHERE/GROUP BY/HAVING cùng cấp (phải lồng subquery hoặc lặp biểu thức).
  • Alias (AS) không bắt buộc nhưng khuyến nghị cho rõ ràng.