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

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

相关推荐
岁岁种桃花儿5 小时前
SpringCloud超高质量面试高频题300道题
spring·spring cloud·面试
努力学算法的蒟蒻6 小时前
day75(2.3)——leetcode面试经典150
面试·职场和发展
觉醒大王6 小时前
硕士/博士研究生避坑指南
笔记·深度学习·学习·自然语言处理·职场和发展·学习方法
南风知我意9576 小时前
【前端面试3】初中级难度
前端·javascript·面试
华清远见成都中心6 小时前
GPIO(通用输入输出)面试中高频问题
单片机·面试·职场和发展
沧澜sincerely11 小时前
蓝桥杯算法练习
算法·职场和发展·蓝桥杯
蒹葭玉树11 小时前
【C++上岸】C++常见面试题目--操作系统篇(第三十期)
c++·面试·risc-v
cyforkk12 小时前
16、Java 基础硬核复习:网络编程的核心逻辑与面试考点
java·网络·面试
YuTaoShao12 小时前
【LeetCode 每日一题】3013. 将数组分成最小总代价的子数组 II
算法·leetcode·职场和发展
爱尔兰极光12 小时前
LeetCode 热题 100--字母异位词分组
算法·leetcode·职场和发展