Query yang baik hanya mengambil baris yang benar-benar dibutuhkan. Section ini membangun kemampuan filtering selangkah demi selangkah: operator perbandingan, operator logika, IN, BETWEEN, LIKE dengan wildcard, penanganan NULL, sampai teknik paging dengan LIMIT dan OFFSET.
Pelajari klausa WHERE untuk menyaring baris pada SELECT: pola dasar kondisi, menyaring kolom angka, teks, dan tanggal dengan nilai literal, serta membandingkan hasil SELECT * dengan hasil yang telah tersaring.
Buka → # Operator PerbandinganBedah enam operator perbandingan MySQL (=, <>, !=, <, <=, >, >=) pada angka, teks case-insensitive akibat collation bawaan, tanggal literal, serta perilaku khusus NULL yang menghasilkan hasil kosong alih-alih error.
Buka → # Operator LogikaPerkenalkan operator logika AND, OR, dan NOT untuk merangkai beberapa kondisi di klausa WHERE, lengkap dengan tabel kebenaran ringkas dan perilaku khusus NULL pada operasi logika.
Buka → # AND OR NOTLatih kombinasi AND, OR, dan NOT pada kondisi majemuk: bukti nyata prioritas operator AND di atas OR yang mengubah hasil, kekuatan tanda kurung, serta jebakan NOT IN saat daftar berisi NULL.
Buka → # IN dan NOT INSaring baris terhadap daftar nilai dengan IN dan NOT IN: daftar teks dan angka, perbandingan keterbacaan IN versus OR berantai, hingga gotcha NULL di daftar NOT IN yang mengosongkan hasil.
Buka → # BETWEENSaring rentang nilai dengan BETWEEN dan NOT BETWEEN pada angka dan tanggal, bukti nyata bahwa nilai batas bersifat inklusif, padanan BETWEEN dengan >= AND <=, serta jebakan rentang terbalik.
Buka → # LIKE dan WildcardsCocokkan pola teks dengan LIKE dan wildcard % serta _: pola awalan, akhiran, dan mengandung kata, perilaku case-insensitive bawaan, karakter escape, dan catatan performa pola berawalan wildcard.
Buka → # Is NULLSaring baris yang nilainya NULL atau tidak dengan IS NULL dan IS NOT NULL: perbedaan NULL dari string kosong dan nol, alasan kondisi = NULL tidak pernah mengembalikan baris, fungsi ISNULL(), hingga pengantar perilaku COUNT yang mengabaikan NULL.
Buka → # ORDER BYUrutkan hasil query dengan ORDER BY: arah ASC dan DESC beserta nilai default, pengurutan multi kolom, kolom alias dan ekspresi, urutan teks case-insensitive, posisi NULL dalam ASC dan DESC, serta aturan ORDER BY bersama GROUP BY.
Buka → # LIMIT dan OFFSETBatasi jumlah baris hasil query dengan LIMIT dan OFFSET: pola LIMIT n, dua bentuk sintaks offset, paging halaman deterministik dengan ORDER BY eksplisit, kasus tepi LIMIT 0 dan offset melebihi jumlah baris, hingga kombinasi lengkap WHERE-ORDER-LIMIT.
Buka → # DISTINCTHilangkan baris kembar dari hasil query dengan DISTINCT: penyaringan satu kolom, keunikan kombinasi pada multi kolom, perlakuan NULL yang dihitung sebagai satu nilai, gotcha DISTINCT yang berlaku pada seluruh baris, hingga penghitungan nilai unik dengan COUNT(DISTINCT).
Buka →