MySql(高级操作符--操作符混合运用)

17.现在运营想要找到gpa在3.5以上(不包括3.5)的山东大学用户 或 gpa在3.8以上(不包括3.8)的复旦大学同学进行用户调研,请你取出相应数据,取出的数据按照device_id升序排列

示例: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 |

sql 复制代码
--方法1
SELECT device_id,gender,age,university,gpa
FROM user_profile
WHERE (gpa > 3.5 AND university = '山东大学')
OR 
(gpa > 3.8 AND university = '复旦大学')
ORDER BY device_id ASC
--方法2
SELECT device_id, gender, age, university, gpa 
FROM user_profile 
WHERE device_id in (SELECT device_id FROM user_profile WHERE gpa>3.5 AND university='山东大学') OR 
device_id in (SELECT device_id FROM user_profile WHERE gpa>3.8 AND university='复旦大学') 
相关推荐
2501_933670792 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
程序员清风2 小时前
Java 后端高并发设计:线程池、限流、熔断与降级
java·数据库·oracle
天衍四九-2 小时前
MySQL中如何定位慢查询?如果SQL语句执行很慢,如何分析和优化?
数据库·sql·mysql
尚久龙3 小时前
mysql-5.7.26-winx64的安装步骤
数据库·mysql
医疗信息化王工3 小时前
DataForge:基于 Python 的数据库批量导出 Excel 工具——从架构到部署的全流程实战
数据库·python·excel
实心儿儿3 小时前
MySQL 的安装
数据库·mysql·adb
程序员阿鹏5 小时前
为什么MySQL InnoDB选择B+树?
数据结构·数据库·b树·sql·mysql·算法·缓存
瀚高PG实验室6 小时前
使用pg_stat_statements抓取数据库TOP SQL
数据库·sql·postgresql·瀚高数据库
yanwumuxi7 小时前
【数据库系列】opensearch数据备份和恢复
数据库
anxiao_m7 小时前
2026企业AI数字孪生选型攻略,不同场景对应不同解决方案
大数据·网络·数据库