2024年 经典sql命令面试题汇总 (学习篇三)

不说废话,直接上干货!
1. 首先打开要保证本地已经装了mysql, 然后打开终端,启动mysql  如下:

  2. 然后创建一个库,在库里面创建对应的表结构和数据(也可自行修改表结构和数据), 

CREATE TABLE `students` (
`Sid` varchar(11) NOT NULL,
`Sname` varchar(20) DEFAULT NULL,
`Sage` int(11) DEFAULT NULL,
PRIMARY KEY (`Sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `students` VALUES ('s01', ' 巧虎 ', '18');
INSERT INTO `students` VALUES ('s02', ' 琪琪 ', '19');
INSERT INTO `students` VALUES ('s03', ' 桃乐比 ', '18');
INSERT INTO `students` VALUES ('s04', ' 圆圆 ', '17');
INSERT INTO `students` VALUES ('s05', ' 美美 ', '20');
INSERT INTO `students` VALUES ('s06', ' 多比 ', '25');
CREATE TABLE `teachers` (
`Tid` varchar(11) NOT NULL,
`Tname` varchar(20) DEFAULT NULL,
PRIMARY KEY (`Tid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `teachers` VALUES ('1', ' 汪老师 ');
INSERT INTO `teachers` VALUES ('2', ' 小朋老师 ');
INSERT INTO `teachers` VALUES ('3', ' 皮皮老师 ');
INSERT INTO `teachers` VALUES ('4', ' 熊五郎老师 ');
INSERT INTO `teachers` VALUES ('5', ' 微微老师 ');
INSERT INTO `teachers` VALUES ('6', ' 天天老师 ');
CREATE TABLE `courses` (
`Cid` varchar(11) NOT NULL,
`Cname` varchar(20) DEFAULT NULL,
`Cteacher` varchar(20) DEFAULT NULL,
PRIMARY KEY (`Cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `courses` VALUES ('c01', ' 美术 ', ' 汪老师 ');
INSERT INTO `courses` VALUES ('c02', ' 音乐 ', ' 小朋老师 ');
INSERT INTO `courses` VALUES ('c03', ' 体能 ', ' 皮皮老师 ');
INSERT INTO `courses` VALUES ('c04', ' 自行车 ', ' 熊五郎老师 ');
INSERT INTO `courses` VALUES ('c05', ' 钢琴 ', ' 微微老师 ');
CREATE TABLE `results` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Sid` varchar(11) DEFAULT NULL,
`Cid` varchar(11) DEFAULT NULL,
`Cscore` varchar(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO `results` VALUES ('1', 's01', 'c01', '58');
INSERT INTO `results` VALUES ('2', 's01', 'c02', '59');
INSERT INTO `results` VALUES ('3', 's01', 'c03', '55');
INSERT INTO `results` VALUES ('4', 's02', 'c02', '83');
INSERT INTO `results` VALUES ('5', 's02', 'c05', '79');
INSERT INTO `results` VALUES ('6', 's02', 'c04', '77');
INSERT INTO `results` VALUES ('7', 's03', 'c01', '55');
INSERT INTO `results` VALUES ('8', 's03', 'c03', '81');
INSERT INTO `results` VALUES ('9', 's03', 'c04', '73');
INSERT INTO `results` VALUES ('10', 's04', 'c01', '67');
INSERT INTO `results` VALUES ('11', 's04', 'c02', '78');
INSERT INTO `results` VALUES ('12', 's04', 'c03', '82');
INSERT INTO `results` VALUES ('13', 's04', 'c05', '80');
INSERT INTO `results` VALUES ('14', 's05', 'c01', '61');
INSERT INTO `results` VALUES ('15', 's04', 'c04', '78');

 1. 查询并统计同龄学生人数

select Sage,count(*) from students group by Sage;

2. 查询每门课程的平均成绩,结果按平均成绩升序排列,平均成绩相同时,按课程号降序排列
select Cid,avg(Cscore) from results group by Cid order by avg(Cscore),Cid desc ;

 3. 按平均成绩从高到低显示所有学生的平均成绩

select Sid,avg(Cscore) from results group by Sid order by avg(Cscore) desc;

4. 查询各科成绩最高分、最低分和平均分:以如下形式显示:课程 ID ,课程 name ,最高分,最低
分,平均分
select r .Cid 课程 ID,c .Cname 课程 name,max(r .Cscore ) 最高分 ,min(r .Cscore ) 最低分,avg(r .Cscore ) 平均分 from results r inner join courses c on r .Cid = c .Cid group by 课程 ID;
5. 按各科平均成绩从低到高顺序排序
select Cid,avg(Cscore) from results group by Cid;
6. 查询学生的总成绩并进行排名
select Sid,sum(Cscore) from results group by Sid order by sum(Cscore) desc ;
7. 检索至少选修两门课程的学生学号
select Sid, count (Cid) from results group by Sid having count (Cid) >= 2 ;
8. 查询出只选修了一门课程的全部学生的学号和姓名
select r .Sid ,s .Sname from results r inner join students s on r .Sid = s .Sid group by r .Sid having count (r .Cid ) = 1 ;
9. 查询每门课都在 70 分以上的学生 id
select Sid from results group by Sid having min(Cscore) > 70 ;
10. 查询课程编号为 "c01" 且课程成绩在 60 分以上的学生的学号和姓名
select r .Sid ,s .Sname from results r inner join students s on r .Sid = s .Sid where r .Cid = 'c01' and r .Cscore > 60 ;
11. 查询平均成绩大于 60 分的同学的学号和平均成绩
select Sid,avg(Cscore) from results group by Sid having avg(Cscore)> 60 ;
12. 查询所有同学的学号、姓名、选课数、总成绩
select r .Sid ,s .Sname , count (r .Cid ),sum(r .Cscore ) from results r inner join students s on r .Sid = s .Sid group by r .Sid ;

猜你喜欢

转载自blog.csdn.net/fei8fengbao/article/details/137351565