开始使用免费开始使用

排查 CASE 语句

在上一个练习中,您可能注意到我们的 case 语句里出现了多个 null 值,这通常表示代码可能存在问题。

在这种情况下,值得深入排查,找出为何会出现这些 null 值。本练习中,您将按步骤定位问题,并在必要处修改代码。

本练习是课程的一部分

SQL 报表制作

查看课程

交互式实操练习

通过完成这段示例代码来试试这个练习。

-- Query from last exercise shown below.  Comment it out.
SELECT 
	sport,
    CASE WHEN weight/height^2*100 <.25 THEN '<.25'
    WHEN weight/height^2*100 <=.30 THEN '.25-.30'
    WHEN weight/height^2*100 >.30 THEN '>.30' END AS bmi_bucket,
    COUNT(DISTINCT athlete_id) AS athletes
FROM summer_games AS s
JOIN athletes AS a
ON s.athlete_id = a.id
GROUP BY sport, bmi_bucket
ORDER BY sport, athletes DESC;

-- Show height, weight, and bmi for all athletes
SELECT 
	____,
    ____,
    ____ AS bmi
FROM ____
-- Filter for NULL bmi values
WHERE ____;
编辑并运行代码