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

มีสิ่งเช่น SELECT พร้อมคำสั่ง IF/ELSE ใน MySQL หรือไม่


ใช่ สามารถใช้ SELECT ด้วย IF/ELSE ใน MySQL

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable721 (รหัส int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, FirstName varchar(100), Marks int, CountryName varchar(100));Query OK, 0 แถวได้รับผลกระทบ (0.57 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable721(FirstName,Marks,CountryName)('Chris',56,'US');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงใน DemoTable721(FirstName,Marks,CountryName) ค่า ('Robert',78,'UK');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงใน DemoTable721 (ชื่อ, เครื่องหมาย, ประเทศ) ค่า ('ไมค์', 45, 'AUS'); แบบสอบถามตกลง , แทรก 1 แถวที่ได้รับผลกระทบ (0.16 วินาที)mysql> ลงในค่า DemoTable721(FirstName,Marks,CountryName) ('Carol',89,'ENG');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.22 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable721;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+----+-----------+-------+-----------+| รหัส | ชื่อจริง | มาร์ค | ชื่อประเทศ |+----+-----------+-------+-------------+| 1 | คริส | 56 | สหรัฐอเมริกา || 2 | โรเบิร์ต | 78 | สหราชอาณาจักร || 3 | ไมค์ | 45 | AUS || 4 | แครอล | 89 | ENG |+----+-----------+-------+-------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อใช้ SELECT กับคำสั่ง IF/ELSE ใน MySQL -

mysql> เลือก FirstName,IF(Marks> 75,Marks,CountryName) จาก DemoTable721;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+------------------------------------------------------------- +| ชื่อจริง | IF(เครื่องหมาย> 75,เครื่องหมาย,ชื่อประเทศ) |+-----------+-------------------------- --------+| คริส | สหรัฐอเมริกา || โรเบิร์ต | 78 || ไมค์ | AUS || แครอล | 89 |+-----------+-----------------------------+ 4 แถวในชุด (0.00 วินาที)