Skip to main content

ความหมายและการใช้ประโยชน์ที่เหมาะสมของค่า NULL

Anonim

ผู้ใช้ใหม่ในโลกของฐานข้อมูลมักสับสนโดยค่าพิเศษเฉพาะในฟิลด์ - ค่า NULL ค่านี้สามารถพบได้ในฟิลด์ที่มีข้อมูลประเภทใดและมีความหมายพิเศษในบริบทของฐานข้อมูลเชิงสัมพันธ์ อาจเป็นการดีที่สุดในการเริ่มต้นการสนทนาของ NULL โดยมีคำไม่กี่คำว่า NULL คืออะไร ไม่ :

  • NULL ไม่ใช่จำนวนศูนย์
  • NULL ไม่ใช่ค่าสตริงที่ว่างเปล่า ("")

    แต่ NULL คือค่าที่ใช้เพื่อแสดงข้อมูลที่ไม่รู้จัก บ่อยครั้งที่โปรแกรมเมอร์ฐานข้อมูลจะใช้วลี "ค่า NULL" แต่ไม่ถูกต้อง โปรดจำไว้ว่า: NULL เป็นค่าที่ไม่รู้จักซึ่งฟิลด์นี้ว่างเปล่า

    NULL ในโลกแห่งความเป็นจริง

    ลองดูตัวอย่างง่ายๆ: ตารางที่มีสินค้าคงคลังสำหรับยืนผลไม้ สมมติว่าพื้นที่โฆษณาของเรามีแอปเปิ้ล 10 และส้มสามตัว เรายังมีสต็อกพลัม แต่ข้อมูลสินค้าคงคลังของเรายังไม่สมบูรณ์และเราไม่ทราบจำนวนพลัมที่มีอยู่ในสต๊อก (ถ้ามี) ใช้ค่า NULL เราจะมีตารางข้อมูลสินค้าคงคลังที่แสดงในตารางด้านล่าง

    สินค้าคงคลังยืนผลไม้

    InventoryIDชิ้นปริมาณ
    1แอปเปิ้ล10
    2ส้ม3
    3ลูกพลัมโมฆะ

    เห็นได้ชัดว่าไม่ถูกต้องในการรวมจำนวน 0 สำหรับบันทึกพลัมเพราะนั่นหมายความว่าเรามี ไม่ พลัมในสินค้าคงคลัง ในทางกลับกันเราอาจมีพลัมบางส่วน แต่เราไม่แน่ใจ

    เป็น NULL หรือ NOT NULL?

    ตารางสามารถออกแบบให้ใช้ได้ทั้งค่า NULL หรือไม่

    นี่เป็นตัวอย่าง SQL ที่สร้างตารางพื้นที่โฆษณาที่อนุญาตให้มี NULLs:

    SQL CREATE TABLE สินค้าคงคลัง (InventoryID INT ไม่เป็นโมฆะ, สินค้า VARCHAR (20) NOT NULL, INT จำนวน);

    ตารางพื้นที่โฆษณาที่นี่ไม่อนุญาตค่า NULL สำหรับ InventoryID และ ชิ้น คอลัมน์ แต่ไม่อนุญาตให้พวกเขาสำหรับ ปริมาณ คอลัมน์.

    ในขณะที่การอนุญาตให้ค่า NULL สามารถปรับได้อย่างสมบูรณ์ค่า NULL อาจทำให้เกิดปัญหาได้เนื่องจากการเปรียบเทียบค่าที่ค่าใดค่าหนึ่งเป็น NULL เสมอส่งผลเป็น NULL

    เมื่อต้องการตรวจสอบว่าตารางของคุณมีค่า NULL ให้ใช้ IS NULL หรือ IS NOT NULL operator นี่คือตัวอย่างของ IS NULL:

    SQL SELECT INVENTORYID รายการสินค้าปริมาณจากสินค้าคงคลังที่มีปริมาณไม่เป็นโมฆะ;

    ให้ตัวอย่างของเราที่นี่นี้จะกลับ:

    InventoryIDชิ้นปริมาณ
    3ลูกพลัม

    ใช้งาน NULLs

    การทำงานกับค่า NULL มักจะสร้างผลลัพธ์ NULL ขึ้นอยู่กับการทำงานของ SQL ตัวอย่างเช่นสมมติว่า A เป็นโมฆะ:

    ตัวดำเนินการเลขคณิต

    • A + B = NULL
    • A - B = NULL
    • A * B = NULL
    • A / B = NULL

    Operators เปรียบเทียบ

    • A = B = NULL
    • A = B = NULL
    • A> B = NULL
    • A! B = NULL

    นี่เป็นเพียงตัวอย่างบางส่วนของผู้ประกอบการที่จะ เสมอ return NULL ถ้าโอเปอรแรนดหนึ่งมีคา NULL แบบสอบถามที่ซับซ้อนมากขึ้นมีอยู่และทั้งหมดมีความซับซ้อนโดยค่า NULL จุดบ้านคือถ้าคุณให้ค่า NULL ในฐานข้อมูลของคุณเข้าใจความหมายและวางแผนสำหรับพวกเขา

    นั่นเป็นโมฆะสั้น!