Anda Dapat menggunakan AND dan OR clause tidak hanya pada Select statement saja, tetapi dapat juga digunakan pada Update statement dan Delete statement.
Pada tutorial ini, kita akan fokus membahas tentang penggunaan AND dan OR clause hanya pada Select statement saja.
AND Clause
AND clause digunakan untuk menampilkan data berdasarkan logika AND. AND Kalau diterjemahkan dalam bahasa indonesia adalah DAN.
Di bawah ini adalah tabel logika AND menurut aljabar boolean:
A | B | (A AND B) |
---|---|---|
TRUE | TRUE | TRUE |
TRUE | FALSE | FALSE |
FALSE | TRUE | FALSE |
FALSE | FALSE | FALSE |
Dari tabel diatas dapat disimpulkan bahwa logika AND akan menghasilkan nilai true, jika kedua operand A dan B bernilai true.
Sintak Dasar
Di bawah ini adalah sintak dasar penggunaan AND clause pada Select statement:
SELECT nama_kolom1, nama_kolom2, nama_kolom3,... FROM nama_tabel WHERE nama_kolom1 = nilai_1 AND nama_kolom2 = nilai_2 AND nama_kolom3 = nilai_3 ...;
OR Clause
OR Clause digunakan untuk menampilkan data berdasarkan logika OR. OR kalau diterjemahkan dalam bahasa Indonesia adalah ATAU.
Di bawah ini adalah tabel logika OR menurut aljabar boolean:
A | B | (A OR B) |
---|---|---|
TRUE | TRUE | TRUE |
TRUE | FALSE | TRUE |
FALSE | TRUE | TRUE |
FALSE | FALSE | FALSE |
Dari tabel diatas dapat disimpulkan bahwa logika OR akan bernilai true jika salah satu atau kedua operand A dan B bernilai true.
Sintak Dasar
Di bawah ini adalah sintak dasar dari OR clause pada Select statement.
SELECT nama_kolom1, nama_kolom2, nama_kolom3,... FROM nama_tabel WHERE nama_kolom1 = nilai_1 OR nama_kolom2 = nilai_2 OR nama_kolom3 = nilai_3 ...;
Contoh
Misalkan Anda telah memiliki sebuah tabel "pegawai" dengan data-data sebagai berikut:
mysql> SELECT * FROM karyawan; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P002 | Iskiyati | P | Bandung | 23 | 7000000 | MKT | | P003 | Nurul Hikmah | P | Semarang | 20 | 4000000 | HR | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P005 | Sri Rahayu | P | Surabaya | 25 | 8000000 | ACC | | P006 | Naura Krasiva | P | Magelang | 21 | 3000000 | HR | | P007 | Ana Fauziyah | P | Tegal | 22 | 4500000 | SLS | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | +------------+---------------+---------------+-----------+------+----------+------------+ 10 rows in set (0.29 sec)
Dari data-data diatas, coba Anda kerjakan soal-soal berikut ini:
- Tampilkan data pegawai yang memiliki jenis kelamin lakik-laki?
mysql> SELECT * FROM karyawan -> WHERE jenis_kelamin = 'L'; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | +------------+---------------+---------------+-----------+------+----------+------------+ 5 rows in set (0.00 sec)
- Tampilkan data pegawai yang memiliki jenis kelamin laki-laki dan memiliki departemen "IT"?
mysql> SELECT * FROM karyawan -> WHERE jenis_kelamin = 'L' -> AND departemen = 'IT'; +------------+--------------+---------------+---------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+--------------+---------------+---------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | +------------+--------------+---------------+---------+------+----------+------------+ 3 rows in set (0.04 sec)
- Tampilkan data pegawai yang memiliki jenis kelamin laki-laki atau memiliki departemen "IT"?
mysql> SELECT * FROM karyawan -> WHERE jenis_kelamin = 'L' -> OR departemen = 'IT'; +------------+---------------+---------------+-----------+------+----------+------------+ | id_pegawai | nama_lengkap | jenis_kelamin | alamat | umur | gaji | departemen | +------------+---------------+---------------+-----------+------+----------+------------+ | P001 | Nursalim | L | Jakarta | 27 | 15000000 | IT | | P004 | Ahmad Fatoni | L | Cirebon | 26 | 10000000 | IT | | P008 | Irwan Gunawan | L | Tangerang | 30 | 11000000 | FIN | | P009 | Ali Amrullah | L | Jakarta | 28 | 8500000 | IT | | P010 | Andi Lala | L | Bogor | 23 | 6000000 | FIN | +------------+---------------+---------------+-----------+------+----------+------------+ 5 rows in set (0.87 sec)
Sekian Panduan Singkat tentang Penggunaan AND dan OR clause di MySQL. Semoga bermanfaat & Happy Learning MySQL.
Salam,
Nursalim
0 Comments