Menggunakan AND Dan OR Clause Di MySQL

0
Pada Panduan Tutorial MySQL kali ini, kita akan belajar lebih mendalam tentang Penggunaan AND dan OR Clause.

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