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

นิพจน์ในกรณีที่ข้อไม่ทำงานในการสืบค้น MySQL?


สำหรับสิ่งนี้ ให้ใช้คำสั่ง CASE WHEN ใน MySQL อย่างถูกต้อง มาดูกันว่าเป็นอย่างไร

ให้เราสร้างตาราง -

mysql> สร้างตาราง demo58−> (−> id int ไม่ใช่ null auto_increment คีย์หลัก,−> first_name varchar(20),−> last_name varchar(20)−> );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (2.15 วินาที) 

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

mysql> แทรกลงใน demo58(first_name,last_name) values('John','Doe');Query OK, 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงใน demo58 (first_name,last_name) ค่า ('David', 'Smith');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที)mysql> แทรกลงใน demo58(first_name,last_name) ค่า ('John','Brown');Query OK, 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกเข้าไป demo58(first_name,last_name) values('David','Miller');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.26 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+----+-----------+-----------+| id | first_name | นามสกุล |+----+-----------+-----------+| 1 | จอห์น | โด || 2 | เดวิด | สมิธ || 3 | จอห์น | สีน้ำตาล || 4 | เดวิด | Miller |+----+-----------+-----------+4 แถวในชุด (0.15 วินาที)

ต่อไปนี้เป็นแบบสอบถามสำหรับนิพจน์ในกรณีที่เมื่อ -

mysql> select−> (−> case−> เมื่อ (first_name ="John") แล้ว 'Carol'−> เมื่อ (last_name ="Smith") จากนั้น 'Doe'−> end−> ) RESULT−> จาก demo58;

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

<ก่อนหน้า>+---------+| ผลลัพธ์ |+---------+| แครอล || โด || แครอล || NULL |+--------+4 แถวในชุด (0.00 วินาที)