知识
UNION(并)
使用 UNION可以实现将多个查询结果集合并为一个结果集。
所有查询语句中列的个数和列的顺序必须相同。
所有查询语句中对应列的数据类型必须兼容。
ORDER BY语句要放在最后一个查询语句的后边。
例46.查询系号是1和2的班级的班号、班名、系号,系号是1 的记录在前,2在后。
SELECT 班号, 班名, 系号 FROM 班级表 WHERE 系号= 1 UNION SELECT 班号, 班名, 系号 FROM 班级表 WHERE 系号= 2
等价于:
SELECT 班号, 班名, 系号 FROM 班级表 WHERE 系号 IN (1,2) ORDER BY 系号
例47.查询要求同例46,但将查询结果按系号从大到小排序。
SELECT 班号, 班名, 系号 FROM 班级表 WHERE 系号= 1 UNION SELECT 班号, 班名, 系号 FROM 班级表 WHERE 系号= 2 ORDER BY 系号 DESC
题解
题目:现在运营想要分别查看学校为山东大学或者性别为男性的用户的device_id、gender、age和gpa数据,请取出相应结果,结果不去重。
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'
示例:user_profile
根据示例,你的查询应返回以下结果: