สำหรับการสืบค้น MySQL แบบมีเงื่อนไข คุณสามารถใช้แนวคิด IF ELSE ในขั้นตอนการจัดเก็บ ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable1 ( Id int ); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable1 (10); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable1 (20) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable1 ( 30);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable1;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+------+| รหัส |+------+| 10 || 20 || 30 |+------+3 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตารางที่สอง
mysql> สร้างตาราง DemoTable2 ( Id int ); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.07 วินาที)
แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable2 (40) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable2 (50) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable2 ( 60);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable2;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+------+| รหัส |+------+| 40 || 50 || 60 |+------+3 แถวในชุด (0.00 วินาที)ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างกระบวนงานที่เก็บไว้สำหรับการสืบค้น MySQL แบบมีเงื่อนไข
mysql> DELIMITER // mysql> CREATE PROCEDURE Conditional_Query(id int) BEGIN IF id>=40 แล้ว เลือก * จาก DemoTable2; ELSE เลือก * จาก DemoTable1; สิ้นสุดถ้า; END // แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.21 วินาที) mysql> DELIMITER;
ตอนนี้คุณสามารถเรียกกระบวนงานที่เก็บไว้ด้วยความช่วยเหลือของคำสั่ง CALL -
mysql> โทร Conditional_Query(100);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+------+| รหัส |+------+| 40 || 50 || 60 |+------+3 แถวในชุด (0.00 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.03 วินาที)โทรอีกครั้งและส่งค่าอื่น -
mysql> โทร Conditional_Query(13);
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+------+| รหัส |+------+| 10 || 20 || 30 |+------+3 แถวในชุด (0.00 วินาที) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.02 วินาที)