题目分析

我们需要从 user_profile 表中选择 device_idgenderageuniversitygpa 列,并且只返回符合以下条件的记录:

  • university 为“山东大学”且 gpa 大于3.5
  • university 为“复旦大学”且 gpa 大于3.8

SQL 查询

以下是实现上述思路的 SQL 查询:

SELECT device_id, gender, age, university, gpa
FROM user_profile
WHERE (university = '山东大学' AND gpa > 3.5)
   OR (university = '复旦大学' AND gpa > 3.8)
ORDER BY device_id;

解释

  • SELECT device_id, gender, age, university, gpa: 选择需要的列。
  • FROM user_profile: 从 user_profile 表中获取数据。
  • WHERE (university = '山东大学' AND gpa > 3.5) OR (university = '复旦大学' AND gpa > 3.8): 筛选符合条件的记录。
  • ORDER BY device_id: 按 device_id 升序排列结果。