select device_id,gender,age,university,gpa
from user_profile
where (gpa > 3.5 and university = "山东大学")
or (gpa > 3.8 and university = "复旦大学")

这道题很显然是考察 and 和 or 的混合关系,当遇到多个关系的时候,需要使用 括号来限定逻辑的发生范围。

这个题也可以使用 union 来完成,而且逻辑上更好理解。前提是需要知道union常用于纵向表合并,并去重。