สามารถสร้างคอลัมน์ ID ที่มีค่า NULL ในผลลัพธ์ SELECT ได้โดยใช้ NULL AS alias โดยไม่ต้องมีคอลัมน์จริงในตาราง
ตัวอย่าง
1. สร้างตารางโดยไม่มีคอลัมน์ ID
mysql> create table selectAllDemo (
-> Name varchar(100),
-> Age int
-> );
2. เพิ่มข้อมูล
mysql> insert into selectAllDemo values('John',25),('Carol',26),('Bob',30),('Sam',35);
3. SELECT พร้อมสร้างคอลัมน์ ID เป็น NULL
mysql> select NULL AS Id, tbl.Name, tbl.Age from selectAllDemo tbl where Age=35;
+------+------+------+ | Id | Name | Age | +------+------+------+ | NULL | Sam | 35 | +------+------+------+
กรณีการใช้งาน
- รวมข้อมูลจากหลายตาราง (UNION) ที่ต้องการให้โครงสร้างคอลัมน์ตรงกัน
- สร้าง template ผลลัพธ์สำหรับแอปพลิเคชันที่คาดหวังคอลัมน์ ID
- ทดสอบโครงสร้างข้อมูลก่อนสร้างตารางจริง
เทคนิคเพิ่มเติม
ใช้กับ UNION
SELECT id, name, age FROM users UNION ALL SELECT NULL AS id, name, age FROM temp_users;
กำหนดชนิดข้อมูลชัดเจน
SELECT CAST(NULL AS UNSIGNED) AS Id, Name, Age FROM selectAllDemo;