mysql-面试50题-4

一、查询数据

ymysql-面试50题-2-CSDN博客

二、问题

31.查询课程编号为 01 且课程成绩在 80 分以上的学生的学号和姓名

mysql> select student.sid,student.sname

-> from student,sc

-> where cid="01"

-> and score>=80

-> and student.sid = sc.sid;

+------+--------+

| sid | sname |

+------+--------+

| 01 | 赵雷 |

| 03 | 孙风 |

+------+--------+

2 rows in set (0.00 sec)

32.求每门课程的学生人数

mysql> select sc.CId,count(*) as 学生人数

-> from sc

-> GROUP BY sc.CId;

+------+--------------+

| CId | 学生人数 |

+------+--------------+

| 01 | 6 |

| 02 | 6 |

| 03 | 6 |

+------+--------------+

3 rows in set (0.00 sec)

33.成绩不重复,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩

mysql> select student.*, sc.score, sc.cid from student, teacher, course,sc

-> where teacher.tid = course.tid

-> and sc.sid = student.sid

-> and sc.cid = course.cid

-> and teacher.tname = "张三"

-> order by score desc

-> limit 1;

+------+--------+---------------------+------+-------+------+

| SId | Sname | Sage | Ssex | score | cid |

+------+--------+---------------------+------+-------+------+

| 01 | 赵雷 | 1990-01-01 00:00:00 | 男 | 90.0 | 02 |

+------+--------+---------------------+------+-------+------+

1 row in set (0.01 sec)

34.成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩

mysql> select student.*, sc.score, sc.cid from student, teacher, course,sc

-> where teacher.tid = course.tid

-> and sc.sid = student.sid

-> and sc.cid = course.cid

-> and teacher.tname = "张三"

-> and sc.score = (

-> select Max(sc.score)

-> from sc,student, teacher, course

-> where teacher.tid = course.tid

-> and sc.sid = student.sid

-> and sc.cid = course.cid

-> and teacher.tname = "张三"

-> );

+------+--------+---------------------+------+-------+------+

| SId | Sname | Sage | Ssex | score | cid |

+------+--------+---------------------+------+-------+------+

| 01 | 赵雷 | 1990-01-01 00:00:00 | 男 | 90.0 | 02 |

+------+--------+---------------------+------+-------+------+

1 row in set (0.00 sec)

35.查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

36.查询每门功成绩最好的前两名

37.统计每门课程的学生选修人数(超过 5 人的课程才统计)。

mysql> select sc.cid, count(sid) as cc from sc

-> group by cid

-> having cc >5;

+------+----+

| cid | cc |

+------+----+

| 01 | 6 |

| 02 | 6 |

| 03 | 6 |

+------+----+

3 rows in set (0.00 sec)

38.检索至少选修两门课程的学生学号

mysql> select sid, count(cid) as cc from sc

-> group by sid

-> having cc>=2;

+------+----+

| sid | cc |

+------+----+

| 01 | 3 |

| 02 | 3 |

| 03 | 3 |

| 04 | 3 |

| 05 | 2 |

| 06 | 2 |

| 07 | 2 |

+------+----+

7 rows in set (0.00 sec)

39.查询选修了全部课程的学生信息

40.查询各学生的年龄,只按年份来算

注:对于上面的一些题,后面补

相关推荐
wdfk_prog17 分钟前
嵌入式面试真题学习笔记系列
笔记·学习·面试
用户2873555325924 小时前
OpenResty 中 Lua 脚本实战示例(分场景讲清 Lua 解决了 Nginx 原生做不到的事)
面试
帅次4 小时前
Android 应用高级面试:Window 近1年高频追问 18 题
android·面试·职场和发展
Revolution615 小时前
Node.js 是什么:前端项目里哪些事情由它完成
前端·面试·node.js
Hi李耶5 小时前
【LeetCode】9-回文数
算法·leetcode·职场和发展
GitLqr19 小时前
深入理解 Flutter 架构:从 Widget 到 GPU 像素的全链路解析
flutter·面试·dart
众人皆醒我独醉21 小时前
TGI:HuggingFace 的官方推理服务——不止 PagedAttention,更懂模型生态
面试·llm·ai编程
众人皆醒我独醉21 小时前
vLLM:PagedAttention 如何让 LLM 推理吞吐提升 24 倍
面试·llm·ai编程
神奇小汤圆1 天前
面试官突然问:“数仓哪一层最适合做RAG?”他一下被问住了…
面试