Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

กำหนดค่าตัวแปร User Variable จากผลลัพธ์ Query ใน MySQL

เก็บผลลัพธ์ Query ไว้ใน User Variable (@variable)

ใช้คำสั่ง SET @var = (subquery) เพื่อกำหนดค่าตัวแปรจากผลลัพธ์ของคำสั่ง SELECT

รูปแบบคำสั่ง (Syntax)

SET @variable_name = (SELECT column FROM table WHERE condition);

ตัวอย่างการใช้งาน

สร้างตาราง UserVariable:

CREATE TABLE UserVariable (
    Id INT,
    Name VARCHAR(100)
);

INSERT INTO UserVariable VALUES 
(101, 'John'),
(200, 'Tom'),
(500, 'Carol');

ขั้นตอนที่ 1: หา Id สูงสุด เก็บใน @Maxid

SET @Maxid = (SELECT MAX(Id) FROM UserVariable);

ขั้นตอนที่ 2: หา Name ที่มี Id สูงสุด เก็บใน @Name

SET @Name = (SELECT Name FROM UserVariable WHERE Id = @Maxid);

ขั้นตอนที่ 3: ตรวจสอบค่าในตัวแปร

SELECT @Name;

ผลลัพธ์:

@Name
Carol

การใช้งานแบบรวมขั้นตอน (Single Statement)

SELECT @Name := Name FROM UserVariable 
WHERE Id = (SELECT MAX(Id) FROM UserVariable);

ประโยชน์ของ User Variables:

  • ใช้ค่าระหว่างคำสั่งหลายคำสั่งใน Session เดียวกัน
  • ลดความซับซ้อนของ Subquery ซ้อนกัน
  • ใช้ใน Stored Procedure, Trigger, หรือ Script ได้
  • ตัวแปรมี Scope เป็น Session (หายเมื่อ Disconnect)