1 --1、查询所有的课程的名称以及对应的任课老师姓名

2 SELECT

3 c.cname,4 t.tname5 FROM

6 course c7 LEFT JOIN teacher t ON c.teacher_id =t.tid;8

9 --2、查询学生表中男女生各有多少人

10 SELECT

11 gender,12 count(sid)count

13 FROM

14 student15 GROUP BY

16 gender;17

18 --3、查询物理成绩等于100的学生的姓名

19 SELECT

20 a.sid,21 b.sname22 FROM

23 score a24 LEFT JOIN student b ON a.student_id =b.sid25 WHERE

26 a.num = 100

27 AND a.course_id =(28 SELECT

29 c.cid30 FROM

31 course c32 WHERE

33 c.cname ="物理"34 );35

36 --4、查询平均成绩大于八十分的同学的姓名和平均成绩

37 SELECT

38 a.sname,39 c.avg_score40 FROM

41 student a42 INNER JOIN(43 SELECT

44 b.*, AVG(b.num)avg_score45 FROM

46 score b47 GROUP BY

48 b.student_id49 HAVING

50 avg_score > 80

51 )c ON a.sid =c.student_id;52

53 --5、查询所有学生的学号,姓名,选课数,总成绩

54 SELECT

55 a.sid,56 a.sname,57 c.count_course,58 c.sum_score59 FROM

60 student a61 LEFT JOIN(62 SELECT

63 b.student_id,64 count(b.course_id)count_course,65 SUM(b.num)sum_score66 FROM

67 score b68 GROUP BY

69 b.student_id70 )c ON a.sid =c.student_id;71

72 --6、 查询姓李老师的个数

73 SELECT

74 count(tid)75 FROM

76 teacher t77 WHERE

78 t.tname LIKE "李%";79

80 --7、 查询没有报李平老师课的学生姓名

81 SELECT

82 a.sname83 FROM

84 student a85 WHERE

86 a.sid NOT IN(87 SELECT

88 b.student_id89 FROM

90 score b91 WHERE

92 course_id IN(93 SELECT

94 c.cid95 FROM

96 course c97 WHERE

98 c.teacher_id IN(99 SELECT

100 d.tid101 FROM

102 teacher d103 WHERE

104 d.tname ="李平老师"105 )106 )107 );108

109 --8、 查询物理课程比生物课程高的学生的学号

110 SELECT

111 c.student_id112 FROM

113 (114 SELECT

115 *

116 FROM

117 score a118 WHERE

119 a.course_id =(120 SELECT

121 b.cid122 FROM

123 course b124 WHERE

125 b.cname ="物理"126 )127 )c128 INNER JOIN(129 SELECT

130 *

131 FROM

132 score d133 WHERE

134 d.course_id =(135 SELECT

136 f.cid137 FROM

138 course f139 WHERE

140 f.cname ="生物"141 )142 )g ON c.student_id =g.student_id143 AND c.num >g.num;144

145 --9、 查询没有同时选修物理课程和体育课程的学生姓名

146 SELECT

147 a.sname148 FROM

149 student a150 WHERE

151 a.sid NOT IN(152 SELECT

153 d.student_id154 FROM

155 (156 SELECT

157 *

158 FROM

159 score b160 WHERE

161 b.course_id =(162 SELECT

163 c.cid164 FROM

165 course c166 WHERE

167 c.cname ="物理"168 )169 )d170 INNER JOIN(171 SELECT

172 *

173 FROM

174 score f175 WHERE

176 f.course_id =(177 SELECT

178 g.cid179 FROM

180 course g181 WHERE

182 g.cname ="体育"183 )184 )h ON d.student_id =h.student_id185 );186

187 --10、查询挂科超过两门(包括两门)的学生姓名和班级

188 SELECT

189 c.sname,190 c.caption191 FROM

192 (193 SELECT

194 *

195 FROM

196 student a197 LEFT JOIN class b ON a.class_id =b.cid198 )c199 INNER JOIN(200 SELECT

201 d.student_id,202 count(d.student_id)count

203 FROM

204 score d205 WHERE

206 d.num < 60

207 GROUP BY

208 d.student_id209 HAVING

210 count >= 2

211 )e ON c.sid =e.student_id;212

213 --11、查询选修了所有课程的学生姓名

214 SELECT

215 s.sname216 FROM

217 student s218 INNER JOIN(219 SELECT

220 a.student_id,221 count(a.course_id)count_course222 FROM

223 score a224 GROUP BY

225 a.student_id226 HAVING

227 count_course =(SELECT count(*) FROMcourse)228 )b ON s.sid =b.student_id;229

230 --12、查询李平老师教的课程的所有成绩记录

231 SELECT

232 a.*

233 FROM

234 score a235 WHERE

236 a.course_id IN(237 SELECT

238 b.cid239 FROM

240 course b241 WHERE

242 b.teacher_id =(243 SELECT

244 c.tid245 FROM

246 teacher c247 WHERE

248 c.tname ="李平老师"249 )250 )251

252 --13、查询全部学生都选修了的课程号和课程名

253 SELECT

254 c.cid,255 c.cname256 FROM

257 course c258 INNER JOIN(259 SELECT

260 a.course_id,261 count(a.student_id)count_student262 FROM

263 score a264 GROUP BY

265 a.course_id266 HAVING

267 count_student =(SELECT count(*) FROMstudent)268 )b ON c.cid =b.course_id;269

270 --14、查询每门课程被选修的次数

271 SELECT

272 c.cid,273 c.cname,274 b.count_student275 FROM

276 course c277 LEFT JOIN(278 SELECT

279 a.course_id,280 count(a.student_id)count_student281 FROM

282 score a283 GROUP BY

284 a.course_id285 )b ON c.cid =b.course_id;286

287 --15、查询只选修了一门课程的学生姓名和学号

288 SELECT

289 s.sname290 FROM

291 student s292 INNER JOIN(293 SELECT

294 a.student_id,295 count(a.course_id)count_course296 FROM

297 score a298 GROUP BY

299 a.student_id300 HAVING

301 count_course = 1

302 )b ON s.sid =b.student_id;303

304 --16、查询所有学生考出的成绩并按从高到低排序(成绩去重)

305 SELECT DISTINCT

306 (num)307 FROM

308 score a309 ORDER BY

310 a.num DESC

311

312 --17、查询平均成绩大于85的学生姓名和平均成绩

313 SELECT

314 a.sname315 FROM

316 student a317 INNER JOIN(318 SELECT

319 b.student_id,320 avg(b.num)avg_num321 FROM

322 score b323 GROUP BY

324 b.student_id325 HAVING

326 avg_num > 85

327 )c ON a.sid =c.student_id;328

329 --18、查询生物成绩不及格的学生姓名和对应生物分数

330 SELECT

331 a.sname,332 c.num333 FROM

334 student a335 INNER JOIN(336 SELECT

337 b.student_id,338 b.num339 FROM

340 score b341 WHERE

342 b.course_id =(343 SELECT

344 cid345 FROM

346 course347 WHERE

348 cname ="生物"349 )350 AND b.num < 60

351 )c ON a.sid =c.student_id;352

353 --19、查询在所有选修了李平老师课程的学生中,这些课程(李平老师的课程,不是所有课程)平均成绩最高的学生姓名

354 SELECT

355 sname356 FROM

357 student358 WHERE

359 sid =(360 SELECT

361 a.student_id362 FROM

363 score a364 WHERE

365 a.course_id IN(366 SELECT

367 b.cid368 FROM

369 course b370 WHERE

371 b.teacher_id =(372 SELECT

373 c.tid374 FROM

375 teacher c376 WHERE

377 c.tname ="李平老师"378 )379 )380 GROUP BY

381 a.student_id382 ORDER BY

383 avg(num)DESC

384 LIMIT 1

385 )386

387 --20、查询每门课程成绩最好的前两名学生姓名

388 SELECT

389 e.sname,390 f.course_id,391 f.num392 FROM

393 student e394 INNER JOIN(395 SELECT

396 c.*

397 FROM

398 score c399 INNER JOIN(400 SELECT

401 *

402 FROM

403 (404 SELECT

405 course_id,406 MAX(num)num407 FROM

408 score409 GROUP BY

410 course_id411 ORDER BY

412 course_id,413 num DESC

414 )a415 UNION ALL

416 (417 SELECT

418 a.course_id,419 MAX(a.num)num420 FROM

421 score a422 INNER JOIN(423 SELECT

424 course_id,425 MAX(num)num426 FROM

427 score428 GROUP BY

429 course_id430 ORDER BY

431 course_id,432 num DESC

433 )b ON a.course_id =b.course_id434 WHERE

435 a.num

437 a.course_id438 )439 )d ON c.course_id =d.course_id440 WHERE

441 c.num =d.num442 ORDER BY

443 c.course_id,444 c.num DESC

445 )f ON e.sid =f.student_id446 ORDER BY

447 f.course_id,448 f.num DESC

449

450 --21、查询不同课程但成绩相同的学号,课程号,成绩

451 SELECT

452 student_id,453 course_id,454 num455 FROM

456 score457 WHERE

458 num IN(459 SELECT

460 a.num461 FROM

462 (463 SELECT

464 *

465 FROM

466 score467 GROUP BY

468 course_id,469 num470 )a471 GROUP BY

472 a.num473 HAVING

474 count(a.num)> 1

475 )476 ORDER BY

477 num;478

479 --22、查询没学过“叶平”老师课程的学生姓名以及选修的课程名称;

480 SELECT

481 c.sname,482 GROUP_CONCAT(d.cname)483 FROM

484 (485 SELECT

486 a.*, b.course_id487 FROM

488 (489 SELECT

490 *

491 FROM

492 student493 WHERE

494 sid NOT IN(495 SELECT DISTINCT

496 (student_id)497 FROM

498 score499 WHERE

500 course_id IN(501 SELECT

502 cid503 FROM

504 course505 WHERE

506 teacher_id =(507 SELECT

508 tid509 FROM

510 teacher511 WHERE

512 tname ="李平老师"513 )514 )515 )516 )a517 INNER JOIN score b ON a.sid =b.student_id518 )c519 INNER JOIN course d ON c.course_id =d.cid520 GROUP BY

521 c.sname522

523 --23、查询所有选修了学号为1的同学选修过的一门或者多门课程的同学学号和姓名;

524 SELECT

525 a.sid,526 a.sname527 FROM

528 student a529 INNER JOIN(530 SELECT

531 student_id532 FROM

533 score534 WHERE

535 student_id != 1

536 AND course_id IN(537 SELECT

538 course_id539 FROM

540 score541 WHERE

542 student_id = 1

543 )544 GROUP BY

545 student_id546 )b ON a.sid =b.student_id547

548 --24、任课最多的老师中学生单科成绩最高的学生姓名

549 SELECT

550 sname551 FROM

552 student553 WHERE

554 sid =(555 SELECT

556 student_id557 FROM

558 score559 WHERE

560 course_id IN(561 SELECT

562 cid563 FROM

564 course565 WHERE

566 teacher_id =(567 SELECT

568 teacher_id569 FROM

570 course571 GROUP BY

572 teacher_id573 ORDER BY

574 count(teacher_id)DESC

575 LIMIT 1

576 )577 )578 ORDER BY

579 num DESC

580 LIMIT 1

581 )

mysql查询 多门课程的平均成绩_Mysql_多表查询练习相关推荐

  1. mysql查询 多门课程的平均成绩_MySQL 45道查询习题详解

    1.首先进行建表: 按 Ctrl+C 复制代码 #建学生信息表studentcreate table student ( sno varchar(20) not null primary key, s ...

  2. mysql查询 多门课程的平均成绩_数据分析中级 MySQL 任务6 总结复习

    0 入门 0.1 MySQL安装,Navicat安装: 0.2 MySQL设置,Nacicat设置,包括链接点,unicode-8: 0.3 创建表格,student, course, score, ...

  3. mysql查询成绩表中课程编号升序,Python 之 MySql 每日一练 232——查询每门课程的平均成绩...

    一.表名和字段 –1. 学生表 student (s_id,s_name,s_birth,s_sex) –学生编号,学生姓名,出生年月,学生性别 –2. 课程表 course (c_id,c_name ...

  4. 【基于MapReduce的成绩分析系统】——计算每门课程的平均成绩、最高成绩、最低成绩

    本次用 MapReduce 计算每门课程的平均成绩.最高成绩和最低成绩也是我们<大数据基础>课程的期末大作业 [ 基于MapReduce的成绩分析系统 ] 的功能需求之一. 临近期末,在这 ...

  5. 三个学生四门课程,求出学生平均成绩和课程的平均成绩;n个学生每人m门课程,找出最高分学生,输出有一门成绩不合格的学生的各门成绩,计算每门成绩都在85分及以上的学生的人数(C)

    养成好习惯,点个赞 再走:有问题,欢迎私信.评论,我看到都会回复的 以下两个题目就是玩一下for循环语句和二维数组 文章目录 三个学生四门课程,求出学生平均成绩和课程的平均成绩 n个学生,每人m门课程 ...

  6. 已知M个学生的N门课程的成绩,分别计算每为学生的平均成绩和每门课程的平均成绩输出

    代码如下: #include <stdio.h>#define M 5 #define N 4 void main(){int i,j;float score[M][N] = {{78,8 ...

  7. 求两门成绩平均c语言,数据结构课的作业 要求用链表实现学生的学号 姓名 两门课的成绩 同时求出课程的平均成绩...

    数据结构课的作业 要求用链表实现学生的学号 姓名 两门课的成绩 同时求出课程的平均成绩 关注:69  答案:2  mip版 解决时间 2021-02-04 09:43 提问者孤城古巷 2021-02- ...

  8. 学习-输入5个学生的数学、语文、英语3门课程的成绩,计算并输出每一门课程的平均成绩和每一位学生的平均成绩

    第1关:输入5个学生的数学.语文.英语3门课程的成绩,计算并输出每一门课程的平均成绩和每一位学生的平均成绩 任务描述 本关任务:输入5 个学生的数学.语文.英语 3 门课程的成绩,计算并输出每一门课程 ...

  9. 通过键盘输入三名同学四门课的成绩,分别求三名同学和四门课程的平均成绩。

    要求所有成绩放到一个四行五列的数组中,输入时同一人数据间用空格不同人用回车其中最后一列和最后一行分别放每个学生的平均成绩,每门课程的平均成绩及班级的平均成绩. #include<stdio.h& ...

最新文章

  1. Deep Learning回顾之LeNet、AlexNet、GoogLeNet、VGG、ResNet
  2. 【数据库系统概论】考研附加部分重点分析【附加】
  3. 一方包,二方包,三方包的区别
  4. python 定时器_python 线程之四:定时器(Timer),非阻塞
  5. ElasticSearch 索引基本操作_04
  6. java android上传文件_Java-Android-如何将txt文件上传到网站?
  7. EfficientDet 目标检测开源实现
  8. php curl使用详解
  9. UIButton 文字图片排列
  10. Day 1: Introduction to Deep Learning
  11. perl hash输出类似HASH(0x26caf78)
  12. Windows8 RP版亲手体验全过程
  13. 《前端》阿里字体库iconfont使用方法
  14. 一周企业财报 | 阿迪达斯、盖璞、Natura、舍弗勒、百世集团等11家企业发布业绩...
  15. 我的世界服务器末地文件在哪,我的世界:找不到末地城怎么办?巧用2个操作,就能瞬间找到!...
  16. 用Javascript实现回到顶部效果
  17. blender bpy
  18. 指纹识别综述(1): 导论
  19. pc页面样式自适应的几种方案
  20. CSS揭秘——毛玻璃效果

热门文章

  1. 一文带你搞定抖音最近最火的情侣微信早报信息推送
  2. 计算机化系统知识培训,法规基本知识培训附录9计算机化系统.pptx
  3. xp系统访问共享服务器提示无网络路径,WinXP提示无任何网络提供程序接受指定的网络路径怎么办?...
  4. python笔记图片_图像 opencv - python笔记
  5. android4.4.4linux内核下载,Android 4.4源码下载
  6. 外国的搜索引擎 可搜索被封信息
  7. 机器人编程常用的四大语言
  8. ACD.Systems.Canvas.with.GIS.v14.0.1618 1CD(矢量绘图软件)
  9. 说说Android桌面(Launcher应用)背后的故事(八)——让桌面的精灵穿越起来
  10. 【题解】慈溪中学-8.13-T3