Menggunakan IN Clause Di MySQL

0
IN Clause di gunakan untuk menampilkan data yang sesuai dengan nilai yang terdapat di dalam list atau subquery. Sebagai contoh, misalkan ingin menampilkan data pegawai yang mempunyai alamat di Jakarta, Bandung, dan Surabaya, dimana 'Jakarta','Bandung', dan 'Surabaya' merupakan nilai-nilai yang terdapat di dalam list.

Sintak Dasar


Dibawah ini adalah sintak dasar penggunaan IN Clause pada Select statement:

SELECT nama_kolom1, nama_kolom2, nama_kolom3,...
FROM nama_tabel
WHERE nama_kolom1 IN ('nilai1','nilai2',...);

Penjelasan sintak:

  • nama_kolom1, nama_kolom2, nama_kolom3, dan seterusnya adalah kolom-kolom yang akan ditampilkan.
  • nama_tabel adalah tabel yang datanya akan diambil.
  • 'nilai1', 'nilai2', dan seterusnya adalah nilai-nilai yang akan dicek pada nama_kolom1 apakah sesuai atau tidak? Jika sesuai, maka data akan ditampilkan.


Contoh


Misalkan Anda telah memiliki sebuah tabel pegawai dengan data-data sebagai berikut:

mysql> SELECT * FROM pegawai;
+------------+---------------+---------------+-----------+------+----------+------------+
| 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.01 sec)

Dari data-data diatas, coba Anda kerjakan soal-soal berikut ini:

  • Tampilkan data pegawai yang memiliki alamat di Jakarta, Bandung, Bogor, dan Semarang?. Untuk menampilkannya, Anda dapat menggunakan query berikut ini:
    mysql> SELECT * FROM karyawan
        -> WHERE alamat IN ('Jakarta','Bandung','Bogor','Semarang');
    +------------+--------------+---------------+----------+------+----------+------------+
    | 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         |
    | P009       | Ali Amrullah | L             | Jakarta  |   28 |  8500000 | IT         |
    | P010       | Andi Lala    | L             | Bogor    |   23 |  6000000 | FIN        |
    +------------+--------------+---------------+----------+------+----------+------------+
    5 rows in set (0.23 sec)
    
    
  • Tampilkan data pegawai yang tidak berada di departemen IT, MKT, dan HR? Untuk menampilkannya, Anda dapat menggunakan query berikut ini:
    mysql> SELECT * FROM karyawan
        -> WHERE departemen NOT IN ('IT','MKT','HR');
    +------------+---------------+---------------+-----------+------+----------+------------+
    | id_pegawai | nama_lengkap  | jenis_kelamin | alamat    | umur | gaji     | departemen |
    +------------+---------------+---------------+-----------+------+----------+------------+
    | P005       | Sri Rahayu    | P             | Surabaya  |   25 |  8000000 | ACC        |
    | P007       | Ana Fauziyah  | P             | Tegal     |   22 |  4500000 | SLS        |
    | P008       | Irwan Gunawan | L             | Tangerang |   30 | 11000000 | FIN        |
    | P010       | Andi Lala     | L             | Bogor     |   23 |  6000000 | FIN        |
    +------------+---------------+---------------+-----------+------+----------+------------+
    4 rows in set (0.00 sec)
    
  • Tampilkan data pegawai yang memiliki gaji 3 juta, 4 juta, dan 6 juta rupiah? Untuk menampilkannya, Anda dapat menggunakan query berikut ini:
    mysql> SELECT * FROM karyawan
        -> WHERE gaji IN (3000000,4000000,6000000);
    +------------+---------------+---------------+----------+------+---------+------------+
    | id_pegawai | nama_lengkap  | jenis_kelamin | alamat   | umur | gaji    | departemen |
    +------------+---------------+---------------+----------+------+---------+------------+
    | P003       | Nurul Hikmah  | P             | Semarang |   20 | 4000000 | HR         |
    | P006       | Naura Krasiva | P             | Magelang |   21 | 3000000 | HR         |
    | P010       | Andi Lala     | L             | Bogor    |   23 | 6000000 | FIN        |
    +------------+---------------+---------------+----------+------+---------+------------+
    3 rows in set (0.00 sec)
    

Sekian Panduan Tutorial Penggunaan In Clause di MySQL. Semoga bermanfaat & Happy Learning MySQL.

Salam,

Nursalim

0 Comments