Skip to main content

Definisi dan Penggunaan Nilai NULL yang Tepat

Misteri Menyeramkan Null dalam Game Minecraft (Juni 2026)

Misteri Menyeramkan Null dalam Game Minecraft (Juni 2026)
Anonim

Pengguna baru ke dunia database sering bingung dengan nilai khusus khusus ke lapangan - nilai NULL. Nilai ini dapat ditemukan di bidang yang berisi semua jenis data dan memiliki arti yang sangat khusus dalam konteks basis data relasional. Mungkin yang terbaik adalah memulai diskusi kami tentang NULL dengan beberapa kata tentang apa itu NULL tidak :

  • NULL bukan angka nol.
  • NULL bukan nilai string kosong ("").

    Sebaliknya, NULL adalah nilai yang digunakan untuk mewakili bagian data yang tidak diketahui. Seringkali, programmer database akan menggunakan frase "nilai NULL", tetapi ini tidak benar. Ingat: NULL adalah nilai yang tidak diketahui di mana bidang tersebut tampak kosong.

    NULL di Dunia Nyata

    Mari kita lihat contoh sederhana: tabel yang berisi inventaris untuk kedai buah. Misalkan inventaris kami berisi 10 apel dan tiga jeruk. Kami juga menyediakan plum, tetapi informasi inventaris kami tidak lengkap dan kami tidak tahu berapa banyak (jika ada) plum yang tersedia. Dengan menggunakan nilai NULL, kita akan memiliki tabel inventaris yang ditunjukkan pada tabel di bawah.

    Inventarisasi Buah Berdiri

    InventoryIDBarangKuantitas
    1Apel10
    2Jeruk3
    3PlumBATAL

    Ini jelas tidak benar untuk memasukkan kuantitas 0 untuk catatan plum, karena itu akan menyiratkan bahwa kita punya tidak plum dalam persediaan. Sebaliknya, kita mungkin memiliki beberapa buah prem, tetapi kita tidak yakin.

    Ke NULL atau NOT NULL?

    Sebuah tabel dapat dirancang untuk memungkinkan nilai NULL atau tidak.

    Berikut ini contoh SQL yang membuat tabel Inventory yang memungkinkan beberapa NULL:

    SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, Item VARCHAR (20) TIDAK NULL, Quantity INT);

    Tabel Inventaris di sini tidak mengizinkan nilai NULL untuk InventoryID dan Barang kolom, tetapi memungkinkannya untuk Kuantitas kolom.

    Meskipun memungkinkan nilai NULL baik-baik saja, nilai NULL dapat menyebabkan masalah karena setiap perbandingan nilai di mana yang NULL selalu menghasilkan NULL.

    Untuk memeriksa apakah tabel Anda mengandung nilai NULL, gunakan operator IS NULL atau IS NOT NULL. Berikut ini contoh IS NULL:

    SQL> SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY WHERE QUANTITY TIDAK NULL;

    Diberikan contoh kami di sini, ini akan kembali:

    InventoryIDBarangKuantitas
    3Plum

    Beroperasi pada NULL

    Bekerja dengan nilai NULL sering menghasilkan hasil NULL, tergantung pada operasi SQL. Misalnya, dengan asumsi bahwa A adalah NULL:

    Operator Aritmatika

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

    Operator Perbandingan

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

    Ini hanyalah beberapa contoh dari operator yang akan melakukannya selalu return NULL jika satu operand adalah NULL. Banyak pertanyaan yang lebih kompleks ada, dan semuanya dipersulit oleh nilai NULL. Titik pulang adalah bahwa, jika Anda mengizinkan nilai NULL dalam database Anda, pahami implikasinya dan rencanakan untuknya.

    Itu NULL singkatnya!