Cara bermain Saringan Kopi
- Baca instruksi level. Arena menampilkan isi tabel
kopi, lalu hasil query-mu dan hasil yang dicari (putus-putus). - Ketik query di editor. Tanda lolos dan label syarat di tiap baris berubah setiap kamu mengetik.
- Baris yang tertahan diberi label bagian
WHEREyang tidak terpenuhi, misalnyastok > 0. UntukORyang semua pilihannya gagal, labelnya seluruhORitu. - Tekan Cek jawaban atau Ctrl + Enter. Yang dicek isi hasilnya, jadi
harga >= 70000 AND harga <= 85000sama benarnya denganBETWEEN. Urutan baris hanya dinilai di levelLIMITdanOFFSET. - Kalau buntu, buka Petunjuk. Level yang sudah selesai tetap tercentang di browser yang sama.
Yang kamu pelajari
- Level 1
WHERE dan pembanding
Syarat tiap baris:
=,<>,<,>,<=,>=. - Level 2
Teks berkutip
Nilai teks ditulis dengan kutip tunggal. Tanpa kutip, dibaca sebagai nama kolom.
- Level 3
AND
Baris lolos hanya kalau semua syaratnya benar.
- Level 4
OR dan tanda kurung
ANDdikerjakan lebih dulu daripadaOR. Kurung mengubah urutannya. - Level 5
LIKE dengan %
%mewakili teks apa saja, termasuk kosong. - Level 6
LIKE dengan _
_mewakili tepat satu karakter. - Level 7
IN
Mengecek apakah nilai ada di daftar, pengganti rantai
OR. - Level 8
BETWEEN
Rentang yang menyertakan kedua batasnya.
- Level 9
NOT
Membalik kondisi:
NOT LIKE,NOT IN,NOT BETWEEN, atauNOT (...). - Level 10
DISTINCT
Menyisakan satu dari tiap baris hasil yang kembar.
- Level 11
LIMIT dan OFFSET
Mengambil sebagian hasil yang sudah diurutkan, misalnya untuk halaman.
AND dikerjakan sebelum OR
asal = 'Aceh' OR asal = 'Bali' AND stok > 0 dibaca SQL sebagai asal = 'Aceh' OR (asal = 'Bali' AND stok > 0). Semua kopi Aceh lolos, termasuk yang stoknya 0.
Kalau maksudmu "kopi Aceh atau Bali, yang stoknya ada", tulis kurungnya sendiri: (asal = 'Aceh' OR asal = 'Bali') AND stok > 0. Atau lebih ringkas: asal IN ('Aceh', 'Bali') AND stok > 0.
Tanya jawab
Apakah harus daftar akun untuk bermain?
Tidak. Semua level bisa dimainkan tanpa akun. Kemajuanmu disimpan di browser yang kamu pakai, jadi akan hilang kalau data browser dihapus.
Apakah query-nya dijalankan di database sungguhan?
Tidak. Query diurai dan dijalankan oleh mesin SQL kecil di browser dengan data contoh, jadi tidak ada data yang bisa rusak.
Apakah LIKE membedakan huruf besar dan kecil?
Di game ini tidak, sama seperti SQLite dan pengaturan bawaan MySQL, jadi 'gayo%' juga menemukan Gayo Wine. Di PostgreSQL, LIKE membedakan huruf besar-kecil dan versi yang tidak membedakan ditulis ILIKE.
Apakah BETWEEN menyertakan batasnya?
Ya. harga BETWEEN 70000 AND 85000 sama dengan harga >= 70000 AND harga <= 85000, jadi kopi seharga tepat 70000 atau 85000 ikut lolos.
Kenapa LIMIT tanpa ORDER BY berbahaya?
Tanpa ORDER BY, database boleh mengembalikan baris dalam urutan apa saja, jadi tiga baris pertama bisa berubah antar query. Urutkan dulu, baru potong dengan LIMIT.