题目描述
运营团队希望查看所有来自 浙江大学 的用户在回答题目时的详细情况。具体要求是从 user_profile 表中筛选出属于浙江大学的用户,然后从 question_practice_detail 表中获取这些用户的所有答题记录。最终需要输出 device_id、question_id 和 result,并按照 question_id 升序排序。
SQL 查询
SELECT
qpd.device_id,
qpd.question_id,
qpd.result
FROM
question_practice_detail qpd
WHERE
qpd.device_id IN (
SELECT
up.device_id
FROM
user_profile up
WHERE
up.university = '浙江大学'
)
ORDER BY
qpd.question_id ASC;
代码解释
-
子查询部分:
SELECT up.device_id FROM user_profile up WHERE up.university = '浙江大学'- 该子查询从
user_profile表中筛选出所有university为 "浙江大学" 的device_id。
- 该子查询从
-
主查询部分:
SELECT qpd.device_id, qpd.question_id, qpd.result FROM question_practice_detail qpd WHERE qpd.device_id IN (子查询) ORDER BY qpd.question_id ASC;- 从
question_practice_detail表中选择device_id、question_id和result。 - 使用
WHERE ... IN过滤出device_id属于子查询结果的记录。 - 最后使用
ORDER BY qpd.question_id ASC按照question_id升序排列结果。
- 从

京公网安备 11010502036488号