OR di SQL

Menggabungkan kondisi: baris lolos jika salah satu kondisi benar.

Penjelasan sederhana

OR artinya "atau". Sebuah baris lolos kalau minimal salah satu syarat terpenuhi. Kalau dua-duanya terpenuhi, barisnya tetap muncul sekali saja.

Berbeda dengan AND yang mempersempit hasil, OR justru memperluas hasil karena memberi lebih banyak jalan bagi baris untuk lolos.

Sintaks

WHERE kondisi1 OR kondisi2;
BagianKeterangan
kondisi1 OR kondisi2Cukup salah satu yang benar.

Tanda [kurung siku] berarti bagian opsional. Kata kunci SQL tidak membedakan huruf besar-kecil, tapi menulisnya dengan huruf besar membuat query lebih mudah dibaca.

Contoh OR

Data contoh: karyawan

Tabel karyawan

idnamadept_idkotagajitgl_masukatasan_id
1 Andi Pratama 3 Bandung 12500000 2019-03-11 NULL
2 Bunga Lestari 1 Jakarta 9800000 2020-07-01 NULL
3 Candra Wijaya 3 Bandung 8200000 2021-02-15 1
4 Dewi Anggraini 2 Jakarta 7500000 2022-05-09 6
5 Eko Saputra 1 Jakarta 6900000 2023-01-16 2
6 Fajar Nugroho 2 Surabaya 11000000 2018-09-03 NULL
7 Gita Permata 3 Jakarta 8200000 2023-08-21 1
8 Hendra Gunawan NULL Medan 5500000 2024-04-02 NULL
query.sql
SELECT nama, kota, gaji
FROM karyawan
WHERE kota = 'Bandung'
   OR gaji > 10000000;
>_ Jalankan & ubah query ini di browser

Hasil 3 baris

namakotagaji
Andi Pratama Bandung 12500000
Candra Wijaya Bandung 8200000
Fajar Nugroho Surabaya 11000000

Fajar ikut muncul walau bukan dari Bandung, karena gajinya di atas 10 juta.

Cara kerjanya, langkah demi langkah

  1. FROM karyawan: 8 baris diambil.
  2. Setiap baris dicek: apakah kotanya Bandung, atau gajinya di atas 10 juta?
  3. Andi dan Candra lolos karena tinggal di Bandung. Fajar lolos karena gajinya 11 juta, walaupun ia di Surabaya.
  4. Hasilnya 3 orang.

Dipakai untuk apa di kantor?

  • Mencari pesanan yang statusnya "batal" atau "retur".
  • Menandai pelanggan yang belanja besar atau sering belanja.

Kesalahan yang sering terjadi

  • Mencampur AND dan OR tanpa kurung. AND dikerjakan lebih dulu, jadi hasilnya bisa tidak sesuai maksud. Tulis dengan kurung: (kota = 'Jakarta' OR kota = 'Bandung') AND gaji > 8000000.
Progres bab Filter Data 0/8 dipelajari
Lanjut: NOT

Belajar SQL bareng mentor

Hafal sintaks itu mudah. Menjawab pertanyaan bisnis, itu skill.

Private Class Python & SQL untuk Data: dari query dasar sampai JOIN dan studi kasus kerja, dengan kurikulum dan jadwal yang menyesuaikan kamu.

Lihat Private Class