SQL 操作符的混合运用
一、题目
题目来源于牛客,难度为中等。
现在运营想要找到gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学进行用户调研,请你取出相应数据。
二、解题思路与过程
1.解题思路
(1)根据提示可知,查询字段为device_id,gender,age,university,gpa。
(2)查询条件要用where来筛选数据,具体用到的操作符为“or”和“and”。
(3)解题的关键在于搞清这两个操作符的优先级,其中and的优先级是大于or的。
2.解题过程
select device_id,gender,age,university,gpa
from user_profile
where gpa>3.5 and university="山东大学"
or gpa>3.8 and university="复旦大学"
拓展
mysql的运算符由上到下优先级依次由低到高。
如果不清楚运算符的优先级,也可以使用()来改变运算符的优先级,如下所示:
select device_id,gender,age,university,gpa
from user_profile
where (gpa>3.5 and university="山东大学")
or (gpa>3.8 and university="复旦大学")