select device_id,gender,age,university,gpa
from user_profile
where
gpa > 3.5 AND university = '山东大学'
union
select device_id,gender,age,university,gpa
from user_profile
where
gpa > 3.8 AND university = '复旦大学';
试了有bug:大家帮我看看 哪里有问题 谢谢
测试用例中复旦大学在前面,试了不对!
有在想是不是因为 其中有一个age 是 null ,union 要求列的数据类型必须相似??????
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SQL UNION ALL 语法
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
注释:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。