Penjelasan sederhana
WHERE adalah penyaring. Ia memeriksa setiap baris satu per satu dan hanya meloloskan baris yang memenuhi syaratmu. Kerjanya seperti fitur Filter di Excel.
Syarat ditulis sebagai perbandingan: = sama dengan, <> tidak sama dengan, > lebih besar, < lebih kecil, >= dan <=. Teks dan tanggal ditulis di antara kutip tunggal, misalnya 'Jakarta'.
Sintaks
SELECT kolom
FROM nama_tabel
WHERE kondisi;
| Bagian | Keterangan |
|---|---|
kondisi | Perbandingan yang hasilnya benar/salah, misalnya gaji > 8000000. |
= <> > < >= <= | Operator perbandingan. <> artinya "tidak sama dengan" (banyak database juga menerima !=). |
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 WHERE
Data contoh: karyawan
Tabel karyawan
| id | nama | dept_id | kota | gaji | tgl_masuk | atasan_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 |
SELECT nama, kota, gaji
FROM karyawan
WHERE kota = 'Jakarta';
Hasil 4 baris
| nama | kota | gaji |
|---|---|---|
| Bunga Lestari | Jakarta | 9800000 |
| Dewi Anggraini | Jakarta | 7500000 |
| Eko Saputra | Jakarta | 6900000 |
| Gita Permata | Jakarta | 8200000 |
Dari 8 karyawan, 4 orang berdomisili di Jakarta.
Cara kerjanya, langkah demi langkah
FROM karyawan: 8 baris karyawan diambil.WHERE kota = 'Jakarta': setiap baris dicek. Baris yang kotanya Jakarta lolos, sisanya dibuang.- Yang lolos 4 orang: Bunga, Dewi, Eko, dan Gita.
SELECT nama, kota, gaji: dari 4 baris itu, ditampilkan 3 kolom.
Dipakai untuk apa di kantor?
- Mengambil transaksi bulan ini saja.
- Mencari pelanggan dari kota tertentu.
- Menampilkan produk yang stoknya di bawah batas minimum.
Kesalahan yang sering terjadi
- Menulis teks tanpa kutip (
kota = Jakarta). Database mengira Jakarta adalah nama kolom. - Memakai kutip ganda untuk teks (
"Jakarta"). Di banyak database, kutip ganda dipakai untuk nama kolom, bukan nilai. - Mencari data kosong dengan
= NULL. Ini tidak akan pernah berhasil; pakaiIS NULL.
AND