Sử dụng cú pháp SET @bien = (SELECT ...) để gán kết quả truy vấn skalar (1 giá trị) vào biến người dùng (user-defined variable).
Ví dụ:
CREATE TABLE UserVariable (Id INT, Name VARCHAR(100)); INSERT INTO UserVariable VALUES (101,'John'), (200,'Tom'), (500,'Carol');
Bước 1: Tìm ID lớn nhất gán vào biến @Maxid:
SET @Maxid = (SELECT MAX(Id) FROM UserVariable); -- @Maxid = 500
Bước 2: Lấy tên tương ứng với ID đó gán vào @Name:
SET @Name = (SELECT Name FROM UserVariable WHERE Id = @Maxid);
Kiểm tra:
SELECT @Name;
Kết quả
+-------+ | @Name | +-------+ | Carol | +-------+
Lưu ý:
- Truy vấn con phải trả về duy nhất 1 hàng, 1 cột.
- Biến user có tiền tố
@, phạm vi phiên làm việc (session). - Có thể dùng trực tiếp trong truy vấn:
SELECT * FROM bang WHERE id = @Maxid;