10/18/2015

Cara Menggunakan Operator AND, OR Di MySQL

Pada tutorial kali ini, kita akan belajar tentang Cara Menggunakan Operator Logika AND dan OR di MySQL. Anda dapat menggunakan salah satu atau Anda juga dapat mengkombinasikan ketiga operator dalam sebuat Select statement, Insert statement, Update statement, Delete statement, dan lain sebagainya.

Operator AND


Operator AND bekerja layaknya logika AND pada aljabar boolean, yaitu akan bernilai true jika kedua operand atau lebih bernilai true. Untuk lebih jelasnya, perhatikan tabel kebenaran logika AND.

A B A AND B
TRUE TRUE TRUE
TRUE FALSE FALSE
FALSE TRUE FALSE
FALSE FALSE FALSE

Sintak Dasar

Di bawah ini adalah sintak dasar operator AND di MySQL:

SELEC * FROM table_name
WHERE condition[1]
AND condition[2] AND condition[3]..AND [conditionN];

Contoh:

Misalkan Anda telah memiliki sebuah table "TBL_PEGAWAI" dengan data-data sebagai berikut:

+------------+------------------+---------------+----------+------------+------------+
| id_pegawai | nama_pegawai     | jenis_kelamin | gaji     | alamat     | departemen |
+------------+------------------+---------------+----------+------------+------------+
|          1 | Nursalim         | L             |  1000000 | Brebes     | IT         |
|          2 | Naura Krasiva    | P             |  1500000 | Tegal      | FIN        |
|          3 | Nurul Anawariyah | P             |  2000000 | Pemalang   | HRD        |
|          4 | Achmad Fathoni   | L             |  3000000 | Batang     | IT         |
|          5 | Nurul Hikmah     | P             |  9000000 | Pekalongan | DIR        |
|          6 | Iskiyati         | P             |  3000000 | Semarang   | ACC        |
|          7 | Dodi Al Farizi   | L             |  3000000 | Kendal     | FIN        |
|          8 | Susanto          | L             |  4500000 | Cilacap    | MKT        |
|          9 | Susanti          | P             | 43500000 | Banyumas   | MKT        |
|         10 | Doni Nugroho     | L             |  3750000 | Pemalang   | HRD        |
+------------+------------------+---------------+----------+------------+------------+

Dari data diatas,
  • Tampilkan data pegawai yang mempunyai jenis kelamin laki-laki dan mempunyai gaji lebih dari Rp 2.000.000,00

    mysql> SELECT * FROM tbl_pegawai
        -> WHERE jenis_kelamin = 'L'
        -> AND gaji > 2000000;
    +------------+----------------+---------------+---------+----------+------------+
    | id_pegawai | nama_pegawai   | jenis_kelamin | gaji    | alamat   | departemen |
    +------------+----------------+---------------+---------+----------+------------+
    |          4 | Achmad Fathoni | L             | 3000000 | Batang   | IT         |
    |          7 | Dodi Al Farizi | L             | 3000000 | Kendal   | FIN        |
    |          8 | Susanto        | L             | 4500000 | Cilacap  | MKT        |
    |         10 | Doni Nugroho   | L             | 3750000 | Pemalang | HRD        |
    +------------+----------------+---------------+---------+----------+------------+
    4 rows in set (0.00 sec)
    
    
  • Tampilkan data pegawai yang mempunyai jenis kelamin laki-laki (L) dan mempunyai departemen di IT, HRD

    mysql> SELECT * FROM tbl_pegawai
        -> WHERE jenis_kelamin = 'L'
        -> AND departemen IN ('IT','HRD');
    +------------+----------------+---------------+---------+----------+------------+
    | id_pegawai | nama_pegawai   | jenis_kelamin | gaji    | alamat   | departemen |
    +------------+----------------+---------------+---------+----------+------------+
    |          1 | Nursalim       | L             | 1000000 | Brebes   | IT         |
    |          4 | Achmad Fathoni | L             | 3000000 | Batang   | IT         |
    |         10 | Doni Nugroho   | L             | 3750000 | Pemalang | HRD        |
    +------------+----------------+---------------+---------+----------+------------+
    3 rows in set (0.02 sec)
    
    

Operator OR


Operator OR akan bernilai true jika salah satu operand bernilai true. Untuk lebih jelasnya, perhatikan tabel kebenaran logika OR berikut ini:

A B A OR B
TRUE TRUE TRUE
TRUE FALSE TRUE
FALSE TRUE TRUE
FALSE FALSE FALSE

Sintak Dasar

Di bawah ini adalah sintak dasar operator OR di MySQL:

SELEC * FROM table_name
WHERE condition[1]
AND condition[2] OR condition[3]... OR [conditionN];

Contoh

Misalkan Anda telah memiliki sebuah table "TBL_PEGAWAI" dengan data-data sebagai berikut:

+------------+------------------+---------------+----------+------------+------------+
| id_pegawai | nama_pegawai     | jenis_kelamin | gaji     | alamat     | departemen |
+------------+------------------+---------------+----------+------------+------------+
|          1 | Nursalim         | L             |  1000000 | Brebes     | IT         |
|          2 | Naura Krasiva    | P             |  1500000 | Tegal      | FIN        |
|          3 | Nurul Anawariyah | P             |  2000000 | Pemalang   | HRD        |
|          4 | Achmad Fathoni   | L             |  3000000 | Batang     | IT         |
|          5 | Nurul Hikmah     | P             |  9000000 | Pekalongan | DIR        |
|          6 | Iskiyati         | P             |  3000000 | Semarang   | ACC        |
|          7 | Dodi Al Farizi   | L             |  3000000 | Kendal     | FIN        |
|          8 | Susanto          | L             |  4500000 | Cilacap    | MKT        |
|          9 | Susanti          | P             | 43500000 | Banyumas   | MKT        |
|         10 | Doni Nugroho     | L             |  3750000 | Pemalang   | HRD        |
+------------+------------------+---------------+----------+------------+------------+

Dari data diatas,
  • Tampilkan data pegawai yang mempunyai jenis kelamin laki-laki (L) atau mempunyai gaji lebih dari Rp 2.000.000,00

    mysql> SELECT * FROM tbl_pegawai
        -> WHERE jenis_kelamin = 'L'
        -> OR gaji > 2000000;
    +------------+----------------+---------------+----------+------------+------------+
    | id_pegawai | nama_pegawai   | jenis_kelamin | gaji     | alamat     | departemen |
    +------------+----------------+---------------+----------+------------+------------+
    |          1 | Nursalim       | L             |  1000000 | Brebes     | IT         |
    |          4 | Achmad Fathoni | L             |  3000000 | Batang     | IT         |
    |          5 | Nurul Hikmah   | P             |  9000000 | Pekalongan | DIR        |
    |          6 | Iskiyati       | P             |  3000000 | Semarang   | ACC        |
    |          7 | Dodi Al Farizi | L             |  3000000 | Kendal     | FIN        |
    |          8 | Susanto        | L             |  4500000 | Cilacap    | MKT        |
    |          9 | Susanti        | P             | 43500000 | Banyumas   | MKT        |
    |         10 | Doni Nugroho   | L             |  3750000 | Pemalang   | HRD        |
    +------------+----------------+---------------+----------+------------+------------+
    8 rows in set (0.00 sec)
    
    
  • Tampilkan data pegawai yang mempunyai jenis kelamin laki-laki (L) atau mempunyai departemen di IT,HRD

    mysql> SELECT * FROM tbl_pegawai
        -> WHERE jenis_kelamin = 'L'
        -> OR departemen IN ('IT','HDR');
    +------------+----------------+---------------+---------+----------+------------+
    | id_pegawai | nama_pegawai   | jenis_kelamin | gaji    | alamat   | departemen |
    +------------+----------------+---------------+---------+----------+------------+
    |          1 | Nursalim       | L             | 1000000 | Brebes   | IT         |
    |          4 | Achmad Fathoni | L             | 3000000 | Batang   | IT         |
    |          7 | Dodi Al Farizi | L             | 3000000 | Kendal   | FIN        |
    |          8 | Susanto        | L             | 4500000 | Cilacap  | MKT        |
    |         10 | Doni Nugroho   | L             | 3750000 | Pemalang | HRD        |
    +------------+----------------+---------------+---------+----------+------------+
    5 rows in set (0.00 sec)
    
    

Sekian tutorial singkat tentang Cara Menggunakan Operator AND dan OR Di MySQL. Semoga bermanfaat & Happy Learning MySQL

Salam sukses,

Nursalim

No comments:

Post a Comment