Memfilter pernyataan CASE Anda
Mari buat daftar pertandingan yang dimenangkan tim Bologna dari Italia! Ada cukup banyak tim lain di dua tabel tersebut, jadi kunci untuk menghasilkan kueri yang dapat digunakan adalah memakai pernyataan CASE sebagai filter dalam klausa WHERE.
Pernyataan CASE memungkinkan Anda mengategorikan data yang Anda minati—dan mengecualikan data yang tidak Anda minati. Untuk melakukannya, Anda dapat menggunakan pernyataan CASE sebagai filter dalam pernyataan WHERE untuk menghapus keluaran yang tidak ingin Anda lihat.
Berikut cara menyiapkannya:
SELECT *
FROM table
WHERE
CASE WHEN a > 5 THEN 'Keep'
WHEN a <= 5 THEN 'Exclude' END = 'Keep';
Intinya, Anda dapat menggunakan pernyataan CASE sebagai kolom pemfilteran seperti kolom lainnya di basis data Anda. Satu-satunya perbedaannya adalah Anda tidak memberikan alias pada pernyataan tersebut di WHERE.
Latihan ini adalah bagian dari kursus
Manipulasi Data di SQL
Petunjuk latihan
- Gunakan pernyataan
CASEdalam klausaWHEREuntuk memfilter saathometeam_idadalah9857dan gol kandang lebih banyak daripada gol tandang. - Gunakan pernyataan
CASEdalam klausaWHEREuntuk memfilter saatawayteam_idadalah9857dan gol tandang lebih banyak daripada gol kandang. - Akhiri pernyataan
CASEdengan mengecualikan pertandingan yang tidak dimenangkan Bologna.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
SELECT
season,
date,
home_goal,
away_goal
FROM matches_italy
WHERE
-- Find games where home_goal is more than away_goal
___ ___ hometeam_id = 9857 ___ home_goal ___ away_goal ___ 'Bologna Win'
-- Find games where away_goal is more than home_goal
___ awayteam_id = 9857 ___ away_goal ___ home_goal ___ 'Bologna Win'
-- Exclude games not won by Bologna
___ IS NOT ___;