ใน SQL เราสามารถใช้ตัวดำเนินการ IS NOT NULL เพื่อกรองผลลัพธ์ออกจากตารางฐานข้อมูล โดยที่ค่าของคอลัมน์ใดคอลัมน์หนึ่งไม่เป็นค่าว่าง สิ่งนี้สามารถช่วยให้แน่ใจว่าคุณได้รับข้อมูลที่สะอาดซึ่งไม่มีค่าที่หายไปซึ่งอาจทำให้เกิดปัญหาโดยเฉพาะในฟังก์ชันที่ไม่จัดการค่า NULL
ค่า NULL หมายถึงการไม่มีข้อมูลซึ่งไม่รวมสตริงว่าง ศูนย์ตัวเลข หรือ NaN
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีใช้ตัวดำเนินการ IS NOT NULL เพื่อกรองผลลัพธ์ที่มีค่า NULL ในแบบสอบถามที่กำหนดออก
ไวยากรณ์:
เราสามารถแสดงไวยากรณ์พื้นฐานของเงื่อนไข IS NOT NULL ดังที่แสดงในตัวอย่างโค้ดต่อไปนี้:
เลือกคอลัมน์ 1, คอลัมน์ 2, ...
จาก table_name
โดยที่ column_name ไม่ใช่ NULL;
เราเริ่มต้นด้วยคีย์เวิร์ด 'select' และระบุคอลัมน์ที่เราต้องการดึงข้อมูลในชุดผลลัพธ์ ตามด้วยชื่อของตารางที่เราต้องการดึงข้อมูล
ต่อไป เราใช้ส่วนคำสั่ง WHERE เพื่อแนะนำการกรองข้อมูลตามคอลัมน์ที่ระบุ สุดท้ายนี้ เราระบุเงื่อนไขที่เราต้องการกรอง
ตัวอย่างที่ 1:
ให้เราดูตัวอย่างว่าเราสามารถใช้เงื่อนไข IS NOT NULL เพื่อกรองผลลัพธ์ได้อย่างไร
พิจารณาฐานข้อมูลตัวอย่าง Sakila ซึ่งสามารถดาวน์โหลดได้ฟรีบนหน้า MySQL อย่างเป็นทางการ
สมมติว่าเราต้องการดึงชื่อลูกค้าที่ 'last_name' ไม่เท่ากับ null เราสามารถใช้แบบสอบถามดังแสดงต่อไปนี้เพื่อทำสิ่งนี้ให้สำเร็จ:
เลือก*
จาก
ลูกค้าค
ที่ไหน
Last_name ไม่เป็นโมฆะ
ในกรณีนี้ แบบสอบถามจะส่งกลับแถวทั้งหมดจากตารางลูกค้าโดยที่ค่าของคอลัมน์ “last_name” ไม่เป็นค่าว่าง
ตัวอย่างที่ 2: AND และ OR ตัวดำเนินการ
เราสามารถรวมเงื่อนไข IS NOT NULL เข้ากับเงื่อนไขอื่นๆ ได้โดยใช้ตัวดำเนินการ AND และ OR สิ่งนี้จะสร้างการกรองที่ละเอียดยิ่งขึ้น
ตัวอย่างเช่น สมมติว่าเราต้องการดึงข้อมูลลูกค้าที่ “last_name” ไม่ใช่ null และมีชื่อแรกคือ Nancy หรือ Holly
เราสามารถใช้แบบสอบถามดังแสดงต่อไปนี้:
เลือกรหัสลูกค้า,
ชื่อจริง,
นามสกุล,
อีเมล
จาก
ลูกค้า
ที่ไหน
นามสกุลไม่เป็นโมฆะ
และ ( first_name= 'แนนซี่'
หรือ first_name = 'ฮอลลี่' ) ;
ในแบบสอบถามนี้ เรากำลังรวมเงื่อนไข IS NOT NULL เข้ากับตัวดำเนินการ AND และ OR เพื่อกรองระเบียนที่นามสกุลไม่เป็น null หรือชื่อเท่ากับ Nancy หรือ Holly
ผลลัพธ์ที่ได้จะเป็นดังนี้:
อย่างที่คุณเห็น นี่เป็นวิธีการกรองข้อมูลเป้าหมายที่ละเอียดและละเอียดยิ่งขึ้น
ตัวอย่างที่ 3: การใช้ฟังก์ชันรวม
นอกจากนี้เรายังสามารถใช้ฟังก์ชัน IS NOT NULL ร่วมกับฟังก์ชันการรวม SQL ได้อีกด้วย ตัวอย่างเช่น เราใช้ร่วมกับฟังก์ชัน count() เพื่อนับจำนวนค่าที่ไม่ใช่ค่าว่างในคอลัมน์ที่กำหนดได้
ตัวอย่างเช่น สมมติว่าเราต้องการกำหนดจำนวนลูกค้าที่มีที่อยู่อีเมลที่ไม่เป็นค่าว่าง เราสามารถใช้แบบสอบถามได้ดังนี้:
เลือกนับ ( รหัสลูกค้า ) รวมทั้งหมด
จาก
ลูกค้า
ที่ไหน
อีเมลไม่เป็นโมฆะ;
สิ่งนี้ควรส่งคืนจำนวนค่าที่ไม่ใช่ค่าว่างในคอลัมน์เป็นค่าตัวเลขดังนี้:
-----+
599 |
บทสรุป
ในบทช่วยสอนนี้ เราได้เรียนรู้ทั้งหมดเกี่ยวกับเงื่อนไข IS NOT NULL ใน SQL เพื่อกรองค่า Null ออกจากชุดผลลัพธ์หรือตารางฐานข้อมูลที่กำหนด นอกจากนี้เรายังเรียนรู้วิธีสร้างการกรองที่ซับซ้อนมากขึ้นโดยการรวมเงื่อนไข IS NOT NULL เข้ากับเงื่อนไขอื่นๆ โดยใช้ตัวดำเนินการ AND และ OR