这道题目要求我们从 user_profile 表中筛选出学校为山东大学的用户或性别为男性的用户,并获取他们的 device_idgenderagegpa 数据。结果不需要去重,并且输出的顺序需要先输出学校为山东大学的用户,再输出性别为男性的用户。

SQL 查询

-- 查询学校为山东大学的用户
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';

解释

  • WHERE 子句

    • 第一个查询部分:筛选出 university 为 "山东大学" 的用户。
    • 第二个查询部分:筛选出 gender 为 "male" 的用户。
  • UNION ALL:将两个查询结果合并。与 UNION 不同,UNION ALL 不会去除重复记录。