การดำเนินการตามเงื่อนไขหมายถึงความสามารถในการดำเนินการบล็อกของรหัสเฉพาะเมื่อตรงตามเงื่อนไขที่ระบุ นับเป็นการดำเนินการอย่างแพร่หลายในการพัฒนา ตัวอย่างเช่น วิธีทั่วไปในการดำเนินการตามเงื่อนไขใน SQL คือการใช้คำสั่ง CASE
คำสั่ง CASE ช่วยให้เราสามารถใช้ตรรกะเงื่อนไขได้โดยการตรวจสอบค่าของหนึ่งคอลัมน์หรือมากกว่าในตาราง จากนั้นดำเนินการบล็อกรหัสเฉพาะตามผลลัพธ์ของการตรวจสอบนั้น
บทช่วยสอนนี้สอนเราถึงวิธีใช้คำสั่ง CASE หากค่าที่กำหนดเป็น NULL
คำสั่งกรณี SQL
ต่อไปนี้แสดงไวยากรณ์ของคำสั่ง CASE ใน SQL:
การแสดงออกของกรณี
เมื่อ value_1 แล้ว ผลลัพธ์_1
เมื่อ value_2 แล้ว ผลลัพธ์_2
...
อื่น default_result
จบ
พิจารณาตัวอย่างต่อไปนี้:
สร้างนักเรียนตาราง (
รหัส int auto_increment ไม่ใช่คีย์หลัก null
ชื่อวาร์ชาร์ ( ห้าสิบ ) ,
science_score int ไม่เป็นโมฆะ
math_score int ไม่เป็นโมฆะ
history_score int ไม่เป็นโมฆะ
int อื่น ๆ ไม่เป็นโมฆะ
) ;
INSERT INTO นักเรียน ( ชื่อ, คะแนนวิทยาศาสตร์, คะแนนคณิตศาสตร์, คะแนนประวัติศาสตร์, อื่นๆ )
ค่านิยม
( 'จอห์น โด' , 80 , 70 , 90 , 85 ) ,
( 'เจน สมิธ' , 95 , 85 , 80 , 92 ) ,
( 'ทอม วิลสัน' , 70 , 75 , 85 , 80 ) ,
( 'ซาร่า ลี' , 88 , 92 , 90 , 85 ) ,
( 'ไมค์ จอห์นสัน' , 75 , 80 , 72 , 68 ) ,
( 'เอมิลี่ เฉิน' , 92 , 88 , 90 , 95 ) ,
( 'คริสบราวน์' , 85 , 80 , 90 , 88 ) ,
( 'ลิซ่า คิม' , 90 , 85 , 87 , 92 ) ,
( 'มาร์ค เดวิส' , 72 , 68 , 75 , 80 ) ,
( 'อาวา ลี' , 90 , 95 , 92 , 88 ) ;
ตัวอย่างเช่น เราสามารถใช้คำสั่ง CASE เพื่อประเมินตัวเลือกต่างๆ และส่งคืนการดำเนินการเฉพาะตามที่แสดงในตัวอย่างต่อไปนี้:
ชื่อ,
คะแนนวิทยาศาสตร์,
คะแนนคณิตศาสตร์,
history_score,
อื่น,
กรณี
เมื่อไร ( คะแนนวิทยาศาสตร์ + คะแนนคณิตศาสตร์ + คะแนนประวัติศาสตร์ + อื่นๆ ) / 4 > = 90 แล้ว 'เอ'
เมื่อไร ( คะแนนวิทยาศาสตร์ + คะแนนคณิตศาสตร์ + คะแนนประวัติศาสตร์ + อื่นๆ ) / 4 > = 80 แล้ว 'บี'
เมื่อไร ( คะแนนวิทยาศาสตร์ + คะแนนคณิตศาสตร์ + คะแนนประวัติศาสตร์ + อื่นๆ ) / 4 > = 70 แล้ว 'ค'
เมื่อไร ( คะแนนวิทยาศาสตร์ + คะแนนคณิตศาสตร์ + คะแนนประวัติศาสตร์ + อื่นๆ ) / 4 > = 60 แล้ว 'ดี'
อื่น 'เอฟ'
สิ้นสุดเป็น 'ระดับ'
จากนักเรียน
ผลลัพธ์ที่ได้:
คำสั่งกรณี SQL เมื่อค่าเป็นโมฆะ
เราสามารถใช้คำสั่ง CASE เพื่อดำเนินการบล็อคโค้ดเมื่อต้องจัดการกับค่า Null นอกจากนี้ เราสามารถใช้ตัวดำเนินการ IS NULL และ IS NOT Null เพื่อประเมินค่า NULL และดำเนินการบางอย่างตามค่าที่ส่งคืน
พิจารณาตัวอย่างไวยากรณ์ต่อไปนี้:
เลือกกรณี
เมื่อ column_name เป็นโมฆะ 'ค่าเป็นโมฆะ'
อื่น 'ค่าไม่เป็นโมฆะ'
สิ้นสุดเป็นผลลัพธ์
จาก table_name;
ในกรณีนี้ เราจะตรวจสอบว่าค่าของ column_name ที่ให้มานั้นเป็นค่าว่างหรือไม่ ถ้าเป็นจริง เราจะคืนค่า “Value is null” สตริง มิฉะนั้น ถ้าค่าไม่เป็น null เราจะส่งกลับค่า “ค่าไม่เป็น null” สตริง
เรายังใช้คำหลัก AS เป็นนามแฝงสำหรับสตริงผลลัพธ์
พิจารณาตารางตัวอย่างต่อไปนี้:
INSERT INTO นักเรียน ( ชื่อ, คะแนนวิทยาศาสตร์, คะแนนคณิตศาสตร์, คะแนนประวัติศาสตร์, อื่นๆ, อุณหภูมิ )ค่านิยม
( 'จอห์น โด' , 80 , 70 , 90 , 85 , โมฆะ ) ,
( 'เจน สมิธ' , 95 , 85 , 80 , 92 , โมฆะ ) ,
( 'ทอม วิลสัน' , 70 , 75 , 85 , 80 , 'ที' ) ,
( 'ซาร่า ลี' , 88 , 92 , 90 , 85 , 's' ) ,
( 'ไมค์ จอห์นสัน' , 75 , 80 , 72 , 68 , โมฆะ ) ,
( 'เอมิลี่ เฉิน' , 92 , 88 , 90 , 95 , โมฆะ ) ,
( 'คริสบราวน์' , 85 , 80 , 90 , 88 , 'โมฆะ' ) ,
( 'ลิซ่า คิม' , 90 , 85 , 87 , 92 , '' ) ,
( 'มาร์ค เดวิส' , 72 , 68 , 75 , 80 , โมฆะ ) ,
( 'อาวา ลี' , 90 , 95 , 92 , 88 , 'เอ' ) ;
จากนั้น เราสามารถพิมพ์ข้อความเฉพาะสำหรับค่า Null โดยใช้คำสั่ง CASE
กรณี
เมื่ออุณหภูมิเป็นโมฆะ 'ค่าเป็นโมฆะ'
อื่น 'ค่าไม่เป็นโมฆะ'
สิ้นสุดเป็นผลลัพธ์
จาก นักเรียน s ;
เอาท์พุต:
บทสรุป
เราได้เรียนรู้วิธีการทำงานกับคำสั่ง SQL CASE เพื่อประเมินเงื่อนไขเฉพาะและดำเนินงานที่จำเป็นตามค่าผลลัพธ์