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.

# WHERE

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 Perbandingan

Bedah 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 Logika

Perkenalkan 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 NOT

Latih 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 IN

Saring 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 →
# BETWEEN

Saring 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 Wildcards

Cocokkan 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 NULL

Saring 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 BY

Urutkan 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 OFFSET

Batasi 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 →
# DISTINCT

Hilangkan 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 →