列表

详情


SQL14. 操作符混合运用

描述

题目:现在运营想要找到gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学进行用户调研,请你取出相应数据

示例:user_profile
id device_id gender age university province gpa
1 2138 male 21 北京大学 BeiJing 3.4
2 3214 male NULL 复旦大学 Shanghai 4
3 6543 female 20 北京大学 BeiJing
3.2
4 2315 female 23 浙江大学 ZheJiang 3.6
5 5432 male 25 山东大学 Shandong 3.8
根据输入,你的查询应返回以下结果:(该题对于小数点后面的0不需要计算与统计,后台系统会统一输出小数点后面1位)
device_id gender age university gpa
3214 male NULL 复旦大学 4
5432 male 25 山东大学 3.8

示例1

输入:

drop table if exists user_profile;
CREATE TABLE `user_profile` (
`id` int NOT NULL,
`device_id` int NOT NULL,
`gender` varchar(14) NOT NULL,
`age` int ,
`university` varchar(32) NOT NULL,
`province` varchar(32)  NOT NULL,
`gpa` float);
INSERT INTO user_profile VALUES(1,2138,'male',21,'北京大学','BeiJing',3.4);
INSERT INTO user_profile VALUES(2,3214,'male',null,'复旦大学','Shanghai',4.0);
INSERT INTO user_profile VALUES(3,6543,'female',20,'北京大学','BeiJing',3.2);
INSERT INTO user_profile VALUES(4,2315,'female',23,'浙江大学','ZheJiang',3.6);
INSERT INTO user_profile VALUES(5,5432,'male',25,'山东大学','Shandong',3.8);

输出:

3214|male|None|复旦大学|4.0
5432|male|25|山东大学|3.8

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Mysql 解法, 执行用时: 36ms, 内存消耗: 6384KB, 提交时间: 2021-12-26

select user_profile.device_id,user_profile.gender,user_profile.age,user_profile.university,user_profile.gpa
from user_profile
where (user_profile.gpa>3.5 and  user_profile.university="山东大学")
or (user_profile.gpa>3.8 and  user_profile.university="复旦大学")

Mysql 解法, 执行用时: 36ms, 内存消耗: 6396KB, 提交时间: 2022-02-08

SELECT device_id, gender, age, university, gpa FROM user_profile WHERE gpa > 3.5 AND university = "山东大学" OR gpa >3.8 AND university = "复旦大学"

Mysql 解法, 执行用时: 36ms, 内存消耗: 6416KB, 提交时间: 2022-01-01

select device_id , gender , age , university , gpa from user_profile where 
(university in('山东大学')and gpa>3.5)or(university in('复旦大学')and gpa>3.8);

Mysql 解法, 执行用时: 36ms, 内存消耗: 6416KB, 提交时间: 2022-01-01

SELECT device_id,gender,age,university,gpa
FROM user_profile
where gpa>3.5 and university= '山东大学'
or gpa>3.8 and university= '复旦大学'

Mysql 解法, 执行用时: 36ms, 内存消耗: 6416KB, 提交时间: 2021-12-20

select device_id,gender,age,university,gpa from user_profile
where gpa>3.5 and university = '山东大学' 
or (gpa>3.8 and university = '复旦大学')