Tutorial MySQL ini mengeksplorasi semua operator pembanding yang digunakan untuk menguji persamaan dan ketidaksetaraan, serta operator ditingkat yang lebih maju (advanced).

Deskripsi

Operator perbandingan pada MySQL digunakan dalam klausa WHERE untuk menentukan catatan mana yang akan dipilih. Berikut adalah daftar perbandingan operator yang bisa anda gunakan di MySQL:

Comparison Operator Description
= Equal / Sama dengan
<=> Equal (Safe to compare NULL values) / Aman untuk membandingkan nilai NULL
<> Not Equal / Tidak sama
!= Not Equal / Tidak sama
> Greater Than / Lebih besar dari
>= Greater Than or Equal / Lebih besar dari atau sama dengan
< Less Than / Kurang dari
<= Less Than or Equal / Kurang dari atau sama dengan
IN ( ) Matches a value in a list / Cocokkan nilai dalam daftar
NOT Negates a condition / Negasikan suatu kondisi
BETWEEN Within a range (inclusive) / Dalam rentang / (inklusif)
IS NULL NULL value / Tidak ada nilai (kosong)
IS NOT NULL Non-NULL value / Bernilai (tidak kosong)
LIKE Pattern matching with % and _ / Pola yang cocok dengan (digunakan untuk mencari atau membuat fungsi search)
EXISTS Condition is met if subquery returns at least one row /  Kondisi yang terpenuhi atau true dan setidaknya menghasilkan satu baris yang dapat digunakan

 

Mari kita lihat beberapa perbandingan operator yang bisa digunakan pada MySQL.

Contoh – Penyamaan Operator (Equal)

Di MySQL, Anda bisa menggunakan = operator untuk menguji persamaan dalam query. Operator = hanya dapat menguji persamaan dengan nilai yang bukan NULL.

Sebagai contoh:

Dalam contoh ini, pernyataan SELECT di atas akan mengembalikan semua baris dari tabel kontak dimana last_name sama dengan Johnson.

 

Contoh – Operator Kesetaraan (Aman dengan Nilai NULL)

Karena = operator hanya membandingkan nilai non-NULL, tidak aman digunakan dengan nilai NULL. Untuk mengatasi keterbatasan ini, MySQL menambahkan operator <=> untuk memungkinkan Anda menguji persamaan dengan nilai NULL dan non-NULL.

Untuk lebih jelasnya menjelaskan perbedaan antara operator = dan operator <=>, kami akan menyertakan beberapa contoh dengan kedua kueri dan data.

Dengan asumsi bahwa kita memiliki tabel yang disebut kontak di MySQL yang diisi dengan data berikut:

contact_id last_name website1 website2
1 Johnson techonthenet.com <NULL>
2 Anderson <NULL> <NULL>
3 Smith TBD TDB

Kita bisa menggunakan = operator dalam query berikut:

Karena kami menggunakan operator =, kami akan mendapatkan hasil sebagai berikut:

contact_id last_name website1 website2
3 Smith TBD TDB

Dalam contoh ini, pernyataan SELECT di atas akan mengembalikan semua baris dari tabel kontak dimana website1 sama dengan situs web2. Ini tidak mengembalikan catatan kedua di mana website1 dan website2 sama-sama bernilai NULL.

Sekarang mari kita lihat apa yang terjadi saat kita menulis ulang kueri menggunakan operator <=> yang aman digunakan dengan nilai NULL:

Karena kami menggunakan operator <=>, kami akan mendapatkan hasil sebagai berikut:

contact_id last_name website1 website2
2 Anderson <NULL> <NULL>
3 Smith TBD TDB

Sekarang kueri kami mengembalikan semua baris dari tabel kontak di mana website1 sama dengan situs web2, termasuk catatan di mana situs web1 dan situs web adalah nilai NULL.