ใน MySQL หากต้องการคำสั่ง SELECT ที่ไม่คืนค่าแถวและคอลัมน์เลย (Empty Result Set with no columns) ให้ใช้ SELECT NULL กับเงื่อนไข WHERE FALSE
รูปแบบคำสั่ง
SELECT NULL FROM yourTableName WHERE FALSE;
ตัวอย่างการใช้งาน
สร้างตารางและเพิ่มข้อมูล:
mysql> create table DemoTable1367 (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(20));
mysql> insert into DemoTable1367(FirstName) values('Chris'),('David'),('Bob');
ข้อมูลปกติ (3 แถว):
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | David | | 3 | Bob | +----+-----------+
คำสั่ง SELECT ไม่ได้อะไรเลย
mysql> select null from DemoTable1367 where false;
ผลลัพธ์
Empty set (0.00 sec)
คำอธิบาย:
SELECT NULLเลือกค่าคงที่ NULL (1 คอลัมน์)WHERE FALSEเงื่อนไขที่เป็นเท็จเสมอ → ไม่มีแถวไหนผ่าน- ผลลัพธ์: Empty set (มี 0 แถว, 1 คอลัมน์ชื่อ NULL) — ต่างจาก
SELECT * FROM table WHERE FALSEที่คืน 0 แถว แต่มีคอลัมน์ครบ - ใช้ประโยชน์ใน: Testing, Dynamic SQL ที่อาจไม่ต้องการคอลัมน์จริง, UNION ที่ต้องการ Column count เท่ากัน