HSQLDB - Nilai Null

SQL NULL adalah istilah yang digunakan untuk mewakili nilai yang hilang. Nilai NULL dalam tabel adalah nilai di bidang yang tampaknya kosong. Setiap kali kami mencoba memberikan kondisi, yang membandingkan nilai kolom atau kolom dengan NULL, itu tidak berfungsi dengan baik.

Kita bisa menangani nilai NULL dengan menggunakan tiga hal.

  • IS NULL - Operator mengembalikan nilai true jika nilai kolom adalah NULL.

  • IS NOT NULL - Operator mengembalikan true jika nilai kolom TIDAK NULL.

  • <=> - Operator membandingkan nilai, yang (tidak seperti operator =) benar bahkan untuk dua nilai NULL.

Untuk mencari kolom yang NULL atau NOT NULL, gunakan IS NULL atau IS NOT NULL masing-masing.

Contoh

Mari kita perhatikan contoh di mana ada tabel tcount_tblyang berisi dua kolom, author dan tutorial_count. Kami dapat memberikan nilai NULL ke tutorial_count yang menunjukkan bahwa penulis tidak menerbitkan satu pun tutorial. Oleh karena itu, nilai tutorial_count untuk masing-masing penulis tersebut adalah NULL.

Jalankan kueri berikut.

create table tcount_tbl(author varchar(40) NOT NULL, tutorial_count INT);
INSERT INTO tcount_tbl values ('Abdul S', 20);
INSERT INTO tcount_tbl values ('Ajith kumar', 5);
INSERT INTO tcount_tbl values ('Jen', NULL);
INSERT INTO tcount_tbl values ('Bavya kanna', 8);
INSERT INTO tcount_tbl values ('mahran', NULL);
INSERT INTO tcount_tbl values ('John Poul', 10);
INSERT INTO tcount_tbl values ('Sathya Murthi', 6);

Gunakan perintah berikut untuk menampilkan semua catatan dari tcount_tbl meja.

select * from tcount_tbl;

Setelah menjalankan perintah di atas, Anda akan menerima output berikut.

+-----------------+----------------+
|     author      | tutorial_count |
+-----------------+----------------+
|      Abdul S    |      20        |
|    Ajith kumar  |      5         |
|        Jen      |     NULL       |
|    Bavya kanna  |      8         |
|       mahran    |     NULL       |
|     John Poul   |      10        |
|   Sathya Murthi |      6         |
+-----------------+----------------+

Untuk mencari record dimana kolom tutorial_count IS NULL, berikut adalah querynya.

SELECT * FROM tcount_tbl WHERE tutorial_count IS NULL;

Setelah eksekusi kueri, Anda akan menerima keluaran berikut.

+-----------------+----------------+
|     author      | tutorial_count |
+-----------------+----------------+
|       Jen       |     NULL       |
|      mahran     |     NULL       |
+-----------------+----------------+

Untuk menemukan record di mana kolom tutorial_count IS NOT NULL, berikut adalah query-nya.

SELECT * FROM tcount_tbl WHERE tutorial_count IS NOT NULL;

Setelah eksekusi kueri, Anda akan menerima keluaran berikut.

+-----------------+----------------+
|      author     | tutorial_count |
+-----------------+----------------+
|      Abdul S    |      20        |
|     Ajith kumar |       5        |
|     Bavya kanna |       8        |
|     John Poul   |      10        |
|   Sathya Murthi |       6        |
+-----------------+----------------+

HSQLDB - Program JDBC

Berikut adalah program JDBC yang mengambil record secara terpisah dari tabel tcount_tbl dimana tutorial_ count adalah NULL dan tutorial_count TIDAK NULL. Simpan program berikut keNullValues.java.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class NullValues {
   public static void main(String[] args) {
      Connection con = null;
      Statement stmt_is_null = null;
      Statement stmt_is_not_null = null;
      ResultSet result = null;
      try {
         Class.forName("org.hsqldb.jdbc.JDBCDriver");
         con = DriverManager.getConnection(
            "jdbc:hsqldb:hsql://localhost/testdb", "SA", "");
         stmt_is_null = con.createStatement();
         stmt_is_not_null = con.createStatement();
         result = stmt_is_null.executeQuery(
            "SELECT * FROM tcount_tbl WHERE tutorial_count IS NULL;");
         System.out.println("Records where the tutorial_count is NULL");
         
         while(result.next()){
            System.out.println(result.getString("author")+" |
            "+result.getInt("tutorial_count"));
         }
         result = stmt_is_not_null.executeQuery(
            "SELECT * FROM tcount_tbl WHERE tutorial_count IS NOT NULL;");
         System.out.println("Records where the tutorial_count is NOT NULL");
         
         while(result.next()){
            System.out.println(result.getString("author")+" |
            "+result.getInt("tutorial_count"));
         }
      } catch (Exception e) {
         e.printStackTrace(System.out);
      }
   }
}

Kompilasi dan jalankan program di atas menggunakan perintah berikut.

\>javac NullValues.java
\>Java NullValues

Setelah menjalankan perintah di atas, Anda akan menerima output berikut.

Records where the tutorial_count is NULL
Jen         | 0
mahran      | 0

Records where the tutorial_count is NOT NULL
Abdul S        | 20
Ajith kumar    | 5
Bavya kanna    | 8
John Poul      | 10
Sathya Murthi  | 6