คุณต้องปิดแบบสอบถามย่อยในวงเล็บ ไวยากรณ์มีดังนี้ −
select if((select count(*) from yourTableName ),'Yes','No') เป็น anyAliasName;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง SelectIfDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(10) -> );Query OK, 0 แถวได้รับผลกระทบ (1.03 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า SelectIfDemo(Name) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)mysql> แทรกลงในค่า SelectIfDemo(Name) ('Carol');Query OK, 1 แถวได้รับผลกระทบ ( 0.17 วินาที) mysql> แทรกลงในค่า SelectIfDemo (ชื่อ) ('Larry'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า SelectIfDemo (ชื่อ) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.22 วินาที) mysql> แทรกลงในค่า SelectIfDemo (ชื่อ) ('Sam'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก SelectIfDemo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+-------+| รหัส | ชื่อ |+---+-------+| 1 | จอห์น || 2 | แครอล || 3 | แลร์รี่ || 4 | บ๊อบ || 5 | แซม |+----+-------+5 แถวในชุด (0.00 วินาที)นี่คือวิธีที่ถูกต้องในการใช้แบบสอบถามย่อยภายในวงเล็บที่ล้อมรอบ แบบสอบถามมีดังนี้ −
mysql> เลือก if((select count(*) from SelectIfDemo),'Yes','No') เป็นผลลัพธ์;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+---------+| ผลลัพธ์ |+-------+| ใช่ |+--------+1 แถวในชุด (0.00 วินาที)