Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana Membandingkan Nilai Null di MySQL

Terkadang Anda mungkin perlu membandingkan kolom dengan nilai nol atau membandingkan dua kolom yang salah satunya memiliki nilai nol, atau bahkan melakukan pemeriksaan nol untuk kolom. Pada artikel ini kita akan melihat bagaimana membandingkan nilai null di MySQL. Anda dapat menggunakannya untuk perbandingan Null di MySQL.


Cara Membandingkan Nilai Null di MySQL

Misalkan Anda memiliki tabel berikut penjualan(id, tanggal_pesanan, harga_biaya, harga_jual)

mysql> create table sales(
                id int, 
                order_date date, 
                cost_price int, 
                selling_price int);

mysql> describe sales;
+---------------+---------+------+-----+---------+-------+
| Field         | Type    | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+-------+
| id            | int(11) | YES  |     | NULL    |       |
| order_date    | date    | YES  |     | NULL    |       |
| cost_price    | int(11) | YES  |     | NULL    |       |
| selling_price | int(11) | YES  |     | NULL    |       |
+---------------+---------+------+-----+---------+-------+

mysql> insert into sales(id,order_date,cost_price,selling_price)
       values(1,'2020-11-01',150,250),
             (2,'2020-11-02',200,300);

mysql> insert into sales(id,order_date, cost_price) 
       values(3, '2020-11-03',100);

mysql> insert into sales(id,order_date, selling_price) 
       values(4, '2020-11-03',100);

mysql> select * from sales;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
|    4 | 2020-11-03 |       NULL |           100 |
+------+------------+------------+---------------+

Katakanlah Anda ingin memilih baris di mana harga biaya nol. Biasanya, Anda akan menggunakan ekspresi seperti cost_price=null tetapi tidak bekerja dengan nilai NULL. Dalam hal perbandingan nol, Anda perlu menggunakan ADALAH operator, yaitu cost_price IS null

Jadi kueri SQL berikut tidak akan berfungsi

mysql> select * from sales where cost_price=null;
Empty set (0.00 sec)

Kueri SQL berikut akan berfungsi . Berikut adalah kueri SQL untuk memilih baris di mana cost_price adalah nol.

mysql> select * from sales where cost_price is null;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    4 | 2020-11-03 |       NULL |           100 |
+------+------------+------------+---------------+

Baca Juga :Cara Membandingkan Dua Kolom di MySQL

Demikian pula, berikut adalah kueri SQL untuk memilih baris di mana cost_price bukan NULL. Dalam hal ini, kami menggunakan BUKAN operator.

mysql> select * from sales where cost_price is not null;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
+------+------------+------------+---------------+

Anda dapat menggunakan IS NULL dan IS NOT NULL dengan pernyataan UPDATE, INSERT, dan DELETE.


Dengan Pernyataan UPDATE

mysql> update sales
       set selling_price=350
       where cost_price is null;

mysql> select * from sales;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
|    4 | 2020-11-03 |       NULL |           350 |
+------+------------+------------+---------------+

Baca Juga :Cara Mendapatkan Setiap Nth Row di MySQL


Dengan Pernyataan INSERT

Berikut adalah contoh yang menggunakan Perbandingan MySQL NULL dalam pernyataan INSERT.

mysql> insert into new_sales(id,order_date, cost_price, selling_price)
      select * from sales
      where cost_price is null;


Dengan Pernyataan HAPUS

Berikut adalah contoh untuk menggunakan perbandingan Null di Hapus Pernyataan.

mysql> delete from sales
       where cost_price is null;

mysql> select * from sales;
+------+------------+------------+---------------+
| id   | order_date | cost_price | selling_price |
+------+------------+------------+---------------+
|    1 | 2020-11-01 |        150 |           250 |
|    2 | 2020-11-02 |        200 |           300 |
|    3 | 2020-11-03 |        100 |          NULL |
+------+------------+------------+---------------+

Semoga artikel ini membantu Anda membandingkan nilai NULL di MySQL. Ubiq memudahkan untuk memvisualisasikan data, dan memantaunya di dasbor waktu nyata. Coba Ubiq gratis.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Contoh CURRENT_TIMESTAMP – MySQL

  2. Cara Menghitung Margin Di MySQL

  3. Pertanyaan MySQL

  4. Bagaimana Fungsi LCASE() Bekerja di MySQL

  5. MySQL – Kesalahan Koneksi – [MySQL][ODBC 5.3(w) Driver]Host 'IP' Tidak Diizinkan Terhubung ke Server MySQL ini