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.查询各学生的年龄,只按年份来算

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

相关推荐
一只拉古25 分钟前
C# 代码审查面试准备:实用示例与技巧
后端·面试·架构
沐怡旸32 分钟前
【算法--链表】138.随机链表的复制--通俗讲解
算法·面试
yongche_shi43 分钟前
第二篇:Python“装包”与“拆包”的艺术:可迭代对象、迭代器、生成器
开发语言·python·面试·面试宝典·生成器·拆包·装包
独行soc2 小时前
2025年渗透测试面试题总结-60(题目+回答)
java·python·安全·web安全·adb·面试·渗透测试
前端小巷子2 小时前
原生 JS 打造三级联动
前端·javascript·面试
Baihai_IDP2 小时前
MCP 是为开发者设计的工具,而非为 LLM 而设
人工智能·面试·llm
绝无仅有3 小时前
面试之MySQL 高级实战& 优化篇经验总结与分享
后端·面试·github
绝无仅有3 小时前
某云大厂面试之Go 实际问题及答案
后端·面试·github
元亓亓亓5 小时前
LeetCode热题100--230. 二叉搜索树中第 K 小的元素--中等
算法·leetcode·职场和发展