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

SELECT ไม่ได้แถวและคอลัมน์ใดๆ ใน MySQL ด้วย SELECT NULL WHERE FALSE

ใน 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 เท่ากัน