这道题目要求我们从 user_profile
表中筛选出学校为山东大学的用户或性别为男性的用户,并获取他们的 device_id
、gender
、age
和 gpa
数据。结果不需要去重,并且输出的顺序需要先输出学校为山东大学的用户,再输出性别为男性的用户。
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
不会去除重复记录。