Menu Close

SQL SELECT WHERE

SQL Menyaring Baris berdasarkan Kondisi/ Batasan

SELECT digunakan untuk memilih kolom tertentu dari sebuah tabel. Namun, bagaimana jika tabel tersebut berisi ratusan juta baris data? Membaca seluruh baris akan sangat tidak efisien, bahkan mungkin mustahil. Baris tertentu disaring agar tidak ditampilkan dengan menggunakan klausa WHERE dalam query SQL. Klausa ini diterapkan ke setiap baris data dengan memeriksa nilai kolom tertentu, menentukan apakah baris tersebut harus dimasukkan dalam hasil atau tidak.

Contoh Query dengan Saringan WHERE

SELECT kolom, kolom_lain, …
FROM nama_tabel
WHERE kondisi
    AND/OR kondisi_lain
    AND/OR …;

Klausa yang lebih kompleks disusun dengan menggabungkan beberapa kata kunci logika AND atau OR (misalnya, tahun >= 2000 AND jenis = "Sastra"). Berikut ini adalah beberapa operator berguna yang dapat digunakan untuk data numerik (misalnya, bilangan bulat atau titik mengambang):

Operator Jenis Kondisi Contoh SQL
=, !=, <, <=, >, >= Operator numerik kolom != 5
BETWEEN … AND … Angka berada dalam rentang dua nilai kolom BETWEEN 3.3 AND 5.5
NOT BETWEEN … AND … Angka tidak berada dalam rentang kolom NOT BETWEEN 3 AND 5
IN (…) Angka ada dalam daftar kolom IN (3, 5, 7)
NOT IN (…) Angka tidak ada dalam daftar kolom NOT IN (3, 5, 7)

Dengan menuliskan klausa untuk membatasi hasil baris yang ditampilkan, query berjalan lebih cepat karena jumlah data yang tidak diperlukan menjadi berkurang.

SQL sebenarnya tidak mengharuskan penulisan kata kunci dalam huruf kapital. Namun, secara konvensi atau kesepakatan, penulisan kapital membantu memisahkan kata kunci SQL dari nama kolom dan tabel, membuat query lebih mudah dibaca.

Latihan:

  1. Temukan buku dengan kolom id bernilai 4
  2. Tampilkan buku terbitan tahun 2000 dan 2010
  3. Tampilkan buku yang BUKAN terbitan tahun 2000 dan 2010
  4. Temukan buku yang diterbitkan sebelum tahun 2010

Pembahasan:

  1. Temukan buku dengan kolom id bernilai 4
SELECT * FROM Buku WHERE id = 4;

Ekspektasi Hasil: Satu baris (id adalah primary key) yang menampilkan seluruh kolom dari buku dengan id 4.

primary key adalah satu set kolom yang nilainya unique, tidak mungkin sama pada baris lain; dan not null atau mandatory atau required yaitu harus ada nilainya)

id judul penulis tahun jenis
4 "Negeri 5 Menara" Ahmad Fuadi 2009 Inspirasi
  1. Tampilkan buku terbitan tahun 2000 dan 2010
SELECT * FROM Buku WHERE tahun BETWEEN 2000 AND 2010;

Ekspektasi Hasil: Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit antara 2000 dan 2010.

id judul penulis tahun jenis
2 "Laskar Pelangi" Andrea Hirata 2005 Fiksi
4 "Negeri 5 Menara" Ahmad Fuadi 2009 Inspirasi
5 "Habibie & Ainun" Bacharuddin Jusuf Habibie 2010 Biografi
  1. Tampilkan buku yang BUKAN terbitan tahun 2000 dan 2010
SELECT * FROM Buku WHERE tahun NOT IN (2000, 2010);

Ekspektasi Hasil: Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit tidak dalam daftar (2000, 2010).

id judul penulis tahun jenis
1 "Senja di Jakarta" Mochammad Ali 1963 Sastra
3 "Bumi Manusia" Pramoedya Ananta Toer 1980 Sastra
  1. Temukan buku yang diterbitkan sebelum tahun 2010
SELECT * FROM Buku WHERE tahun < 2010;

Ekspektasi Hasil: Seluruh kolom dengan baris yang merupakan buku dengan tahun terbit sebelum (dan tidak termasuk) 2010.

Posted in Praktikum