1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Xử lý dữ liệu trong SQL

Connected

Bài tập

Lọc với câu lệnh CASE

Hãy tạo danh sách các trận mà đội Bologna của Italy đã thắng! Có khá nhiều đội khác trong hai bảng, nên chìa khóa để viết được truy vấn hữu ích là dùng câu lệnh CASE như một bộ lọc trong mệnh đề WHERE.

Câu lệnh CASE cho phép bạn phân loại dữ liệu mình quan tâm — và loại bỏ dữ liệu không quan tâm. Để làm được điều này, bạn có thể dùng CASE như một bộ lọc trong mệnh đề WHERE để loại các kết quả bạn không muốn thấy.

Bạn có thể thiết lập như sau:

SELECT *
FROM table
WHERE 
    CASE WHEN a > 5 THEN 'Keep'
         WHEN a <= 5 THEN 'Exclude' END = 'Keep';

Về bản chất, bạn có thể dùng CASE như một cột lọc giống bất kỳ cột nào khác trong cơ sở dữ liệu. Khác biệt duy nhất là bạn không đặt bí danh (alias) cho câu lệnh trong WHERE.

Hướng dẫn

100 XP
  • Dùng CASE trong mệnh đề WHERE để lọc các trận có hometeam_id là 9857 và số bàn sân nhà lớn hơn số bàn sân khách.
  • Dùng CASE trong mệnh đề WHERE để lọc các trận có awayteam_id là 9857 và số bàn sân khách lớn hơn số bàn sân nhà.
  • Kết thúc CASE bằng cách loại các trận mà Bologna không thắng.