MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Gunakan pernyataan CASE dalam klausa WHERE untuk memfilter saat hometeam_id adalah 9857 dan gol kandang lebih banyak daripada gol tandang.
  • Gunakan pernyataan CASE dalam klausa WHERE untuk memfilter saat awayteam_id adalah 9857 dan gol tandang lebih banyak daripada gol kandang.
  • Akhiri pernyataan CASE dengan 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 ___;
Edit dan Jalankan Kode