LEFT JOIN:它会返回左表(user_profile)的所有行,即使右表(question_practice_detail)中没有匹配的行。对于右表中没有匹配的行,那么右表的所有列都会以NULL值填充。如果一个用户在8月份没有任何练习记录,那么qpd表中的相关字段(比如question_id, result等)都会是NULL。用COUNT(qpd.question_id)来统计每个用户的答题数。COUNT函数在计数时会忽略NULL值。因此,当用户在8月份没有练习记录时,qpd.question_id为NULL,COUNT(qpd.question_id)就会返回0。 我已经通过这道题! https://www.nowcoder.com/questionTerminal/53235096538a456b9220fce120c062b3