【牛客刷题笔记】SQL非技术快速入门篇②

本文介绍了SQL连接查询的基本概念,包括内连接、外连接和交叉连接,并通过多个实际题目展示了如何统计学校用户答题情况、平均刷题数、用户属性筛选、年龄分布以及题目正确率等,帮助读者快速掌握SQL查询技巧。
摘要由CSDN通过智能技术生成

SQL21 浙江大学用户题目回答情况

若一个查询同时涉及两个或两个以上的表,则称之为连接查询。连接查询是关系数据库中最主要的查询。连接查询包括内连接、外连接和交叉连接等。连接查询中用于连接两个表的条件称为连接条件或连接谓词。
注:如果为表指定了别名,则查询语句中其他所有用到表名的地方都要使用别名

//查询所有学生的姓名、班名和系名。
SELECT 姓名,班名,系名
FROM 学生表 s JOIN 班级表 bjb
ON s.班号 = bjb.班号
JOIN 系表 xb ON bjb.系号 = xb.系号

//查询软件工程系所有学生的情况,要求列出学生姓名和所在的系。
SELECT 姓名, 系名
FROM 学生表 s JOIN 班级表 bjb
ON s.班号 = bjb.班号
JOIN 系表 xb ON bjb.系号 = xb.系号
WHERE 系名= '软件工程系'

//有分组的多表连接查询。查询每个班的学生的考试平均成绩。
SELECT 班号,
AVG(成绩) AS 班平均
FROM 学生表 S JOIN 成绩表 g
ON S.学号 = g.学号
GROUP BY 班号

//有分组和行过滤的多表连接查询。查询21226P班每门课程的选课人数、平均成绩、最高成绩和最低成绩。
SELECT 课程号, COUNT(*) AS Total,
AVG(成绩) AS Avg成绩,
MAX(成绩) AS Max成绩,
MIN(成绩) AS Min成绩
FROM 学生表 S JOIN 成绩表 g
ON S.学号 = g.学号
WHERE 班号 = '21226P'
GROUP BY 课程号

答案:

//方式一:join联合查询
select q.device_id, question_id, result
from question_practice_detail q join user_profile p
on q.device_id = p.device_id
where university = '浙江大学'

//方式二:子查询 where in
select device_id, question_id, result
from question_practice_detail
where device_id in (select device_id from user_profile where university=
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值