Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >50道MySQL面试题,经典~

50道MySQL面试题,经典~

作者头像
码农编程进阶笔记
发布于 2022-08-18 00:44:24
发布于 2022-08-18 00:44:24
1K00
代码可运行
举报
运行总次数:0
代码可运行

一、测试表数据

学生表:student [学号,学生姓名,出生年月,性别]

成绩表:score [学号,课程号,成绩]

课程表:course [课程号,课程名称,教师号]

教师表:teacher [教师号,教师姓名)

下面是表结构和数据,直接执行即可~

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】
-- ----------------------------
-- Table structure for teacher
-- ----------------------------
DROP TABLE IF EXISTS `teacher`;
CREATE TABLE `teacher`  (
  `t_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `t_name` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`t_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of teacher
-- ----------------------------
INSERT INTO `teacher` VALUES ('01', '数学老师-杰斯');
INSERT INTO `teacher` VALUES ('02', '语文老师-盲僧');
INSERT INTO `teacher` VALUES ('03', '英语老师-菲欧娜');

-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student`  (
  `s_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `s_name` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
  `s_birth` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
  `s_sex` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
  PRIMARY KEY (`s_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('01', '流浪法师-瑞兹', '1990-01-01', '男');
INSERT INTO `student` VALUES ('02', '探险家-EZ', '1990-12-21', '男');
INSERT INTO `student` VALUES ('03', '疾风剑豪-亚瑟', '1990-05-20', '男');
INSERT INTO `student` VALUES ('04', '迅捷斥候-提莫', '1990-08-06', '男');
INSERT INTO `student` VALUES ('05', '黑暗之女-安妮', '1991-12-01', '女');
INSERT INTO `student` VALUES ('06', '战争女神-希维尔', '1992-03-01', '女');
INSERT INTO `student` VALUES ('07', '光辉女郎-拉克丝', '1989-07-01', '女');
INSERT INTO `student` VALUES ('08', '放逐之刃-锐雯', '1990-01-20', '女');

-- ----------------------------
-- Table structure for score
-- ----------------------------
DROP TABLE IF EXISTS `score`;
CREATE TABLE `score`  (
  `s_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `c_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `s_score` int() NULL DEFAULT NULL,
  PRIMARY KEY (`s_id`, `c_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES ('01', '01', );
INSERT INTO `score` VALUES ('01', '02', );
INSERT INTO `score` VALUES ('01', '03', );
INSERT INTO `score` VALUES ('02', '01', );
INSERT INTO `score` VALUES ('02', '02', );
INSERT INTO `score` VALUES ('02', '03', );
INSERT INTO `score` VALUES ('03', '01', );
INSERT INTO `score` VALUES ('03', '02', );
INSERT INTO `score` VALUES ('03', '03', );
INSERT INTO `score` VALUES ('04', '01', );
INSERT INTO `score` VALUES ('04', '02', );
INSERT INTO `score` VALUES ('04', '03', );
INSERT INTO `score` VALUES ('05', '01', );
INSERT INTO `score` VALUES ('05', '02', );
INSERT INTO `score` VALUES ('06', '01', );
INSERT INTO `score` VALUES ('06', '03', );
INSERT INTO `score` VALUES ('07', '02', );
INSERT INTO `score` VALUES ('07', '03', );

-- ----------------------------
-- Table structure for course
-- ----------------------------
DROP TABLE IF EXISTS `course`;
CREATE TABLE `course`  (
  `c_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  `c_name` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
  `t_id` varchar() CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  PRIMARY KEY (`c_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES ('01', '语文', '02');
INSERT INTO `course` VALUES ('02', '数学', '01');
INSERT INTO `course` VALUES ('03', '英语', '03');

二、50道SQL题(不含答案)

好了,请打开你亲爱的navicat,关闭百度、手机等一切阻碍你进步的绊脚石。开始你的表演~

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】
-- 50SQL面试题
-- 1、查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(难)

-- 2、查询平均成绩大于60分的学生的学号和平均成绩

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

-- 4、查询姓“猴”的老师的个数

-- 5、查询没学过“数学老师-杰斯”老师课的学生的学号、姓名

-- 6、查询学过“数学老师-杰斯”老师所教的所有课的同学的学号、姓名

-- 7、查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名

-- 8、查询课程编号为“02”的总成绩

-- 9、查询所有,课程成绩小于60分的学生的学号、姓名

-- 10、查询没有学全所有课的学生的学号、姓名

-- 11、查询至少有一门课与学号为“01”的学生所学课程相同的学生的学号和姓名 (难)

-- 12、查询和“01”号同学所学课程完全相同的其他同学的学号(难)

-- 13、查询没学过"数学老师-杰斯"老师讲授的任一门课程的学生姓名

-- 14、空

-- 15、查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

-- 16、检索"01"课程分数小于60,按分数降序排列的学生信息

-- 17、按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩()

-- 18、查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率

-- 19、查询学生的总成绩并进行排名

-- 20、查询不同老师所教不同课程平均分,从高到低显示

-- 21、查询学生平均成绩及其名次

-- 22、按各科成绩进行排序,并显示排名()

-- 23、查询每门功课成绩最好的前两名学生姓名

-- 24、查询所有课程的成绩第2名到第3名的学生信息及该课程成绩

-- 25、查询各科成绩前三名的记录(不考虑成绩并列情况)

-- 26、使用分段[100-85],[85-70],[70-60],[<60]来统计各科成绩,分别统计各分数段人数:课程ID和课程名称

-- 27、查询每门课程被选修的学生数

-- 28、查询出只有两门课程的全部学生的学号和姓名

-- 29、查询男生、女生人数

-- 30、查询名字中含有"风"字的学生信息

-- 31、查询1990年出生的学生名单

-- 32、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

-- 33、查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

-- 34、查询课程名称为"数学",且分数低于60的学生姓名和分数

-- 35、查询所有学生的课程及分数情况

-- 36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数

-- 37、查询不及格的课程并按课程号从大到小排列

-- 38、查询课程编号为03且课程成绩在80分以上的学生的学号和姓名

-- 39、求每门课程的学生人数

-- 40、查询选修“数学老师-杰斯”老师所授课程的学生中成绩最高的学生姓名及其成绩

-- 41、查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩 (难)

-- 42、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

-- 43、检索至少选修两门课程的学生学号

-- 44、查询选修了全部课程的学生信息

-- 45、查询各学生的年龄

-- 46、查询两门以上不及格课程的同学的学号及其平均成绩

-- 47、查询本月过生日的学生

-- 48、查询下一个月过生日的学生

三、50道SQL题(含答案)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-- 先全数据关联一下看看
select * from student stu,score sc,course c,teacher t 
where stu.s_id=sc.s_id and sc.c_id =c.c_id and c.t_id = t.t_id;

50道SQL面试题开撸

1、查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(难)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

SELECT a.s_id from 
(select * from score sc1 where sc1.c_id = '01') a , 
(select * from score sc2 where sc2.c_id = '02') b 
where a.s_id = b.s_id and a.s_score > b.s_score;

2、查询平均成绩大于60分的学生的学号和平均成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

select a.s_id,a.avg_score from 
(select stu.s_id,stu.s_name,AVG(sc.s_score) as avg_score from student stu, score sc where stu.s_id = sc.s_id GROUP BY stu.s_id) a 
where a.avg_score >  ORDER BY avg_score desc;  

3、查询所有学生的学号、姓名、选课数、总成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

-- 我这里MySQL8执行sql时是出现了sql_mode=only_full_group_by错误,执行下行sql进行配置即可解决;
-- set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'
select stu.s_id,stu.s_name,count(sc.c_id),IFNULL(SUM(sc.s_score),) from student stu 
LEFT JOIN score sc on stu.s_id = sc.s_id GROUP BY stu.s_id;

4、查询姓“猴”的老师的个数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select count(*) from teacher where t_name like '猴%';

5、查询没学过“数学老师-杰斯”老师课的学生的学号、姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT * from student a where a.s_id not in
 (select stu.s_id from student stu,score sc,course c,teacher t 
where stu.s_id=sc.s_id and sc.c_id =c.c_id and c.t_id = t.t_id and t.t_name ='数学老师-杰斯')

6、查询学过“数学老师-杰斯”老师所教的所有课的同学的学号、姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select stu.s_id,stu.s_name from 
student stu,score sc,course c,teacher t 
where stu.s_id=sc.s_id and sc.c_id =c.c_id and c.t_id = t.t_id and t.t_name ='数学老师-杰斯';

7、查询学过编号为“01”的课程并且也学过编号为“02”的课程的学生的学号、姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT a.s_id,a.s_name from 
(SELECT stu1.s_id,stu1.s_name from student stu1, score sc1 where stu1.s_id = sc1.s_id and sc1.c_id ='01') a,  
(SELECT stu2.s_id,stu2.s_name from student stu2, score sc2 where stu2.s_id = sc2.s_id and sc2.c_id ='02') b
where a.s_id = b.s_id;

8、查询课程编号为“02”的总成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select SUM(sc.s_score) from score sc where c_id = '02';

9、查询所有,课程成绩小于60分的学生的学号、姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select stu.s_id,stu.s_name from student stu,score sc where stu.s_id = sc.s_id and sc.s_score <  GROUP BY stu.s_id;

10、查询没有学全所有课的学生的学号、姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT stu2.s_id,stu2.s_name from student stu2 ,
(SELECT stu.s_id,stu.s_name,IFNULL(COUNT(c.c_id),) as c_count from student stu 
LEFT JOIN score sc on stu.s_id = sc.s_id JOIN course c on sc.c_id = c.c_id GROUP BY stu.s_id) a
where stu2.s_id = a.s_id and a.c_count = (SELECT count(*) from course);

11、查询至少有一门课与学号为“01”的学生所学课程相同的学生的学号和姓名 (难)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT a.s_id,a.s_name from 
(SELECT stu1.s_id,stu1.s_name,sc1.c_id from student stu1,score sc1 where stu1.s_id = sc1.s_id) a,
(SELECT sc2.c_id from student stu2,score sc2 where stu2.s_id = sc2.s_id and stu2.s_id = '01') b
where a.c_id = b.c_id GROUP BY a.s_id;

12、查询和“01”号同学所学课程完全相同的其他同学的学号(难)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select s_id,s_name from student 
where s_id in (
select s_id from score
where s_id <> '01'
group by s_id
having count(*) = (select count(*) from score where s_id = '01'))
and s_id not in(select distinct s_id from score where c_id not in (select c_id from score where s_id = '01'))

13、查询没学过"数学老师-杰斯"老师讲授的任一门课程的学生姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT s_name from student stu2 where stu2.s_id not in
(select DISTINCT stu.s_id from student stu,score sc,course c,teacher t 
where stu.s_id=sc.s_id and sc.c_id =c.c_id and c.t_id = t.t_id and t.t_name = '数学老师-杰斯') ;

15、查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT a.s_id, a.s_name, avg from student stu2,
(SELECT stu.s_id, stu.s_name, count(*) as count, AVG(sc.s_score) as avg from student stu, score sc 
where stu.s_id = sc.s_id and sc.s_score <  GROUP BY stu.s_id) a where stu2.s_id = a.s_id and a.count >= ;

16、检索"01"课程分数小于60,按分数降序排列的学生信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT stu.s_id, stu.s_name,sc.s_score from student stu, score sc where stu.s_id = sc.s_id and sc.c_id = '01' and sc.s_score <  ORDER BY sc.s_score desc;

17、按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩(难)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-- 全量展示
SELECT * from 
(SELECT stu.s_id,stu.s_name,sc.c_id,IFNULL(sc.s_score,) from student stu LEFT JOIN score sc on stu.s_id = sc.s_id ) a,
(SELECT sc1.s_id,AVG(sc1.s_score) as avg from score sc1 GROUP BY sc1.s_id) b
where a.s_id = b.s_id ORDER BY avg desc;
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-- 横排展示
select s_id,s_name,
(select s_score from score where score.s_id=student.s_id and c_id='01') as '语文',
(select s_score from score where score.s_id=student.s_id and c_id='02') as '数学',
(select s_score from score where score.s_id=student.s_id and c_id='03') as '英语',
(select avg(s_score) from score where score.s_id=student.s_id) avg_score
from student 
order by avg_score desc;

18、查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name,最高分,最低分,平均分,及格率

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
c.c_id,c.c_name,MAX(sc.s_score),MIN(sc.s_score),AVG(sc.s_score),CONCAT(round( * sum(case when sc.s_score>= then 1.0 else 0.0 end)/count(*),),'%') as '及格率' 
from score sc, course c 
where sc.c_id = c.c_id 
GROUP BY c.c_id;

19、查询学生的总成绩并进行排名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
stu.s_id,stu.s_name,IFNULL(SUM(sc.s_score),) as totalCount 
from student stu LEFT JOIN score sc on stu.s_id = sc.s_id GROUP BY stu.s_id 
ORDER BY totalCount desc

20、查询不同老师所教不同课程平均分,从高到低显示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT
t.t_name,c.c_name,AVG(sc.s_score) as avg 
from score sc, course c, teacher t where sc.c_id = c.c_id and c.t_id = t.t_id
GROUP BY t.t_id 
ORDER BY avg desc;

21、查询学生平均成绩及其名次

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT 
stu.s_id,stu.s_name,AVG(sc.s_score) as avg,rank() over(ORDER BY AVG(sc.s_score) desc) as `no` 
from student stu 
LEFT JOIN score sc on stu.s_id = sc.s_id 
GROUP BY stu.s_id 
ORDER BY avg desc;

22、按各科成绩进行排序,并显示排名(难)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

select 
c_id,s_id,s_score,rank() over(partition by c_id 
order by s_score desc) num_row 
from score;

23、查询每门功课成绩最好的前两名学生姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

select a.s_id,a.s_name,b.num_row 
from student a 
join (select s_id, c_id, row_number() over(partition by c_id order by s_score desc) num_row from score) b on a.s_id=b.s_id 
where b.num_row<=;

24、查询所有课程的成绩第2名到第3名的学生信息及该课程成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

select a.s_id,a.s_name,b.c_id,b.s_score,b.num_row 
from student a 
,(select 
      s_id,
      c_id,
      s_score,
      row_number() over(partition by c_id order by s_score desc) num_row from score) b 
where a.s_id=b.s_id 
and b.num_row between  and ;

25、查询各科成绩前三名的记录(不考虑成绩并列情况)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

select a.s_id,a.s_name,b.c_id,b.s_score,b.num_row 
from student a 
,(select 
      s_id,
      c_id,
      s_score,
      row_number() over(partition by c_id order by s_score desc) num_row from score) b 
where a.s_id=b.s_id 
and b.num_row between  and ;

26、使用分段[100-85],[85-70],[70-60],[<60]来统计各科成绩,分别统计各分数段人数:课程ID和课程名称

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】
SELECT c.c_id,c.c_name,
(select count(*) from score sc1 where sc1.c_id=c.c_id and sc1.s_score >= ) as '[100-85]',
(select count(*) from score sc2 where sc2.c_id=c.c_id and sc2.s_score BETWEEN  and ) as '[85-70]',
(select count(*) from score sc3 where sc3.c_id=c.c_id and sc3.s_score BETWEEN  and ) as '[70-60]',
(select count(*) from score sc4 where sc4.c_id=c.c_id and sc4.s_score < ) as '[<60]'
from course c 
GROUP BY c.c_id;

27、查询每门课程被选修的学生数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select c_id,count(c_id) count from score group by c_id;

28、查询出只有两门课程的全部学生的学号和姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#来源公众号:【码农编程进阶笔记】

select a.s_id,a.s_name,count(b.s_id) count 
from student a 
join score b on a.s_id=b.s_id 
group by s_id 
having count=;

29、查询男生、女生人数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select s_sex,count(s_sex) count_sex from student group by s_sex;

30、查询名字中含有"风"字的学生信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from student where s_name like '%风%';

31、查询1990年出生的学生名单

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select s_id,s_name from student where year(s_birth)='1990';

32、查询平均成绩大于等于85的所有学生的学号、姓名和平均成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select a.s_id,a.s_name,avg(b.s_score) avg
from student a 
join score b on a.s_id=b.s_id 
group by b.s_id 
having avg>=;

33、查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select 
c_id, avg(s_score) avg_score 
from score 
group by c_id 
order by avg_score,c_id desc;

34、查询课程名称为"数学",且分数低于60的学生姓名和分数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select sc.c_id,c.c_name,stu.s_id,stu.s_name,sc.s_score
from score sc 
join course c on sc.c_id=c.c_id 
join student stu on sc.s_id=stu.s_id 
where sc.s_score< and c.c_name='数学';

35、查询所有学生的课程及分数情况

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select stu.s_id,stu.s_name,c.c_id,c.c_name,sc.s_score 
from student stu 
left join score sc on stu.s_id=sc.s_id 
left join course c on sc.c_id=c.c_id ;

36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select c.s_name,b.c_name,a.s_score 
from score a 
join course b on a.c_id=b.c_id 
join student c on a.s_id=c.s_id 
where a.s_score>;

37、查询不及格的课程并按课程号从大到小排列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select c_id from score where s_score <  GROUP BY c_id order by c_id desc;

38、查询课程编号为03且课程成绩在80分以上的学生的学号和姓名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select stu.s_id,stu.s_name 
from student stu, score sc where stu.s_id=sc.s_id 
and sc.s_score> and sc.c_id=;

39、求每门课程的学生人数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select c_id, count(*) count from score group by c_id;

40、查询选修“数学老师-杰斯”老师所授课程的学生中成绩最高的学生姓名及其成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select stu.s_id,stu.s_name,sc.s_score from
student stu,score sc,course c,teacher t where stu.s_id=sc.s_id and sc.c_id =c.c_id and c.t_id = t.t_id 
and t.t_name='数学老师-杰斯' 
order by sc.s_score desc 
limit ;

41、查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩 (难)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select a.s_id,a.c_id,a.s_score 
from score a, score b where a.s_score=b.s_score 
and a.c_id <> b.c_id and a.s_id=b.s_id 
group by a.s_id,a.c_id,a.s_score;

42、统计每门课程的学生选修人数(超过5人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select 
c_id, count(*) count 
from score 
group by c_id 
order by c_id asc;

43、检索至少选修两门课程的学生学号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select s_id,count(*) count from score group by s_id having count>=;

44、查询选修了全部课程的学生信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select 
stu.s_id,stu.s_name,count(*) count 
from student stu,score sc 
where stu.s_id = sc.s_id
group by sc.s_id 
having count = ;

45、查询各学生的年龄

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT * ,(YEAR(CURDATE()) - YEAR(s_birth)) AS age from student; 

46、查询两门以上不及格课程的同学的学号及其平均成绩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select s_id,avg(s_score) avg
from score 
where s_score <  
group by s_id 
having count(*) >= ;

47、查询本月过生日的学生

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select s_id from student where month(s_birth) = month(now());

48、查询下一个月过生日的学生

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select s_id from student where month(s_birth) = month(now())+;
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农编程进阶笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
caffe源码分析-DataTransformer
下面仅仅给出将Datum类型转化为caffe的Blob, cv::Mat的转化同理.
bear_fish
2019/02/25
6140
caffe源码分析-DataTransformer
Caffe Data层 - ImageDataLayer
Caffe Data 层 - ImageDataLayer Caffe 官方提供的直接从 image 文件读取图像数据及对应label. 1. 数据格式及 prototxt 定义 数据格式为: # train.txt 001.jpg 1 002.jpg 2 003.jpg 3 网络层定义: # train_val.prototxt layer { name: "data" type: "ImageData" top: "data" top: "label" i
AIHGF
2019/02/18
1.4K0
Caffe Data层  - ImageDataLayer
【Caffe篇】--Caffe从入门到初始及各层介绍
Caffe,全称Convolutional Architecture for Fast Feature Embedding。是一种常用的深度学习框架,主要应用在视频、图像处理方面的应用上。caffe是一个清晰,可读性高,快速的深度学习框架。作者是贾扬清,加州大学伯克利的ph.D,现就职于Facebook。caffe的官网是http://caffe.berkeleyvision.org/。
LhWorld哥陪你聊算法
2018/09/13
1.3K0
Caffe学习系列(12):训练和测试自己的图片
学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中。因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程。
bear_fish
2018/09/19
7330
Caffe学习系列(12):训练和测试自己的图片
Caffe 实践 - 基于 ResNet101 的 Multi-label 多标签标注的训练与部署
以前曾尝试过修改 Caffe ImageDataLayer 源码的方式来读取多个 labels - ImageMultilabelDataLayer [Caffe实践 - 基于VGG16 多标签分类的训练与部署].
AIHGF
2019/02/27
1.3K0
Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
http://www.cnblogs.com/denny402/p/5137534.html
bear_fish
2018/09/19
8830
Caffe学习系列(23):如何将别人训练好的model用到自己的数据上
caffe详解之数据层
数字手写体识别数据集,常用来作为Deep Learning入门的基础数据集。它有60000个训练样本集和10000个测试样本集,每个样本图像的宽高为28×28。此数据集是以二进制存储的,不能直接以图像格式查看,不过很容易找到将其转换成图像格式的工具。 数据集大小:~12MB 下载地址:http://yann.lecun.com/exdb/mnist/index.html
AI异构
2020/07/29
5440
caffe详解之数据层
caffe源码分析-DataLayer
DataLayer作为caffe训练时的数据层(以多线程的方式读取数据加速solver的训练过程),继承自BaseDataLayer/BasePrefetchingDataLayer。
bear_fish
2019/02/25
6930
caffe源码分析-DataLayer
caffe随记(二) --- 数据结构简介
TeeyoHuang
2017/12/28
8800
caffe随记(二) --- 数据结构简介
微调︱caffe中fine-tuning模型三重天(函数详解、框架简述)+微调技巧
本文介绍了如何通过修改全连接层来改变CNN模型的行为,包括用于风格转换,风格迁移,人脸检测等。作者主要介绍了两种方法:1)使用预训练网络,通过冻结训练网络并微调它以适应新任务;2)使用自编码器进行无监督学习。
悟乙己
2018/01/02
1.9K0
微调︱caffe中fine-tuning模型三重天(函数详解、框架简述)+微调技巧
Caffe实践 - 基于VGG16 多标签分类的训练与部署
假定每张图片具有 N 个标签(本文N=3),分别为 label1,label2,label3,...,labelNlabel1,label2,label3,...,labelN{label1, label2, label3,...,labelN}.
AIHGF
2019/02/18
1.5K0
Caffe实践 - 基于VGG16 多标签分类的训练与部署
Caffe源码解析(一) —— caffe.proto
caffe.proto是caffe数据结构定义的主要文件,本文主要是在caffe.proto代码的基础上加上了部分中文注释,其中的内容与caffe的prototxt文件中的结构相对应。 // synt
Tyan
2017/12/29
2.6K0
Caffe实践 - 单标签图片分类流程
主要是生成 train.txt、 val.txt 和 test.txt 文件,使其内容格式为:
AIHGF
2019/02/18
1.1K0
【caffe速成】caffe图像分类从模型自定义到测试
这一次我们讲讲 Caffe 这个主流的开源框架从训练到测试出结果的全流程。到此,我必须假设大家已经有了深度学习的基础知识并了解卷积网络的工作原理。
用户1508658
2019/07/25
5940
【caffe速成】caffe图像分类从模型自定义到测试
机器学习库初探之 Caffe
本文介绍了如何使用Caffe进行深度学习模型的训练和部署。首先介绍了Caffe的基本情况和特点,然后详细讲解了Caffe中模型训练和部署的流程和步骤。最后,探讨了如何使用Caffe进行图像分类和物体检测任务。
吕晟
2017/07/07
3.7K1
机器学习库初探之 Caffe
caffe中关于数据进行预处理的方式
caffe的数据层layer中再载入数据时,会先要对数据进行预处理.一般处理的方式有两种: 1. 使用均值处理 transform_param { mirror: true crop_size: 224 mean_file: "/media/mn_mean.binaryproto" } data_param { source: "/medi/mn_train_db" batch_size: 16 backend: LMDB } 2.采
Gxjun
2018/03/27
1.2K0
finemolds模型_yolo模型训练
复制/caffe-root/models/finetune_flickr_style文件夹下面的deploy.prototxt readme.md solver.prototxt train_val.prototxt四个文件到自己的finetune项目根目录/caffe-root/models/finetune_test/下
全栈程序员站长
2022/11/17
4890
Caffe学习笔记(四):使用pycaffe生成train.prototxt、test.prototxt文件
本文介绍了如何使用Caffe进行深度学习,主要内容包括安装Caffe、配置Caffe环境、创建LMDB数据集、训练CNN模型和测试模型。
Jack_Cui
2018/01/08
2.7K0
Caffe学习笔记(四):使用pycaffe生成train.prototxt、test.prototxt文件
论文实践学习 - Deep Metric Learning via Lifted Structured Feature Embedding
利用 code/gen_splits.m 来创建 mat 格式的 train/test 数据集分割,主要修改的地方如下:
AIHGF
2019/02/18
8020
caffe随记(七)---训练和测试自己的图片
本文介绍了如何使用Caffe进行图片分类,通过下载、转换数据、训练和测试一个模型,最后得到了一个可以用于图片分类的模型。
TeeyoHuang
2017/12/28
7050
caffe随记(七)---训练和测试自己的图片
推荐阅读
相关推荐
caffe源码分析-DataTransformer
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验