题意明确:

分别查看学校为山东大学或者性别为男性的用户的device_id、gender、age和gpa数据,结果不去重


问题分解:

  • 限定条件:学校为山东大学或者性别为男性的用户:university='山东大学', gender='male'
  • 分别查看&结果不去重:所以直接使用两个条件的or是不行的,直接用union也不行,要用union all,分别去查满足条件1的和满足条件2的,然后合在一起不去重

细节问题:

  • 不去重:union all

完整代码:

select 
    device_id, gender, age, gpa
from user_profile
where university='山东大学'

union all

select 
    device_id, gender, age, gpa
from user_profile
where gender='male'