牛客网刷题学习SQL(五)

SQL25 查找山东大学或者性别为男生的信息

在这里插入图片描述
在这里插入图片描述
分析:
查看学校为山东大学或者性别为男性的用户的device_id、gender、age和gpa数据,结果不去重。

山东大学 --》 where university=“山东大学”
男性—》where gender = “male”
结果不去重
所以上面不能使用or,如果使用的话不能保证题目中的输出顺序==注意输出的顺序,先输出学校为山东大学再输出性别为男生的信息 ==
还有不能使用union 原因:union会过滤重复的值
所以只能使用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'

总结一下:
相对之前的sql练习,我们这次使用了union all关键词

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 语句中的列名。

猜你喜欢

转载自blog.csdn.net/qq_53037676/article/details/130953939