大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说mysql综合性练习[通俗易懂],希望您对编程的造诣更进一步.
题目描述
设定有一个数据库,里面有4张表:
- 学生表(student)
- 课程表(course)
- 成绩表(score)
- 教师信息表(teacher)
表结构如下:
表一_学生表(student)
| 属性名 | 数据类型 | 含 义 |
|---|---|---|
| sno | int | 学号(主键) |
| sname | varchar | 学生姓名 |
| ssex | varchar | 学生性别 |
| sbirthday | date | 学生出生年月 |
| classid | varchar | 学生所在班级 |
表二_课程表(course)
| 属性名 | 数据类型 | 含 义 |
|---|---|---|
| cno | varchar | 课程号(主键) |
| cname | varchar | 课程名称 |
| tno | int | 教师编号(外键) |
表三_成绩表(score)
| 属性名 | 数据类型 | 含 义 |
|---|---|---|
| sno | int | 学号(外键) |
| cno | varchar | 课程号(外键) |
| sdegree | float | 成绩 |
表四_教师表(teacher)
| 属性名 | 数据类型 | 含 义 |
|---|---|---|
| tno | int | 编号(主键) |
| tname | varchar | 教师姓名 |
| tsex | varchar | 教师性别 |
| tbirthday | date | 教师出生年月 |
| professional | varchar | 职称 |
| department | varchar | 教师所在部门 |
二、创建数据库和表
先创建数据库mysql_test,并且设置这个数据库的编码字符集为utf-8。
![mysql综合性练习[通俗易懂]插图1 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
学生表:
create table student( sno int(10), sname varchar(10), ssex varchar(10), sbirthday date, classid varchar(10) ); alter table student add primary key(sno);
代码100分
教师表:
代码100分create table teacher( tno int(10), tname varchar(12), tsex varchar(10), tbirthday date, professional varchar(20), department varchar(20) ); alter table teacher add primary key(tno);
课程表:
create table course( cno varchar(10), cname varchar(20), tno int(10) ); alter table course add primary key(cno); alter table course add constraint fk_course_teacher foreign key(tno) references teacher(tno);
成绩表:
代码100分create table score( sno int(10), cno varchar(10), sdegree float(5) ); alter table score add constraint fk_score_student foreign key(sno) references student(sno); alter table score add constraint fk_score_course foreign key(cno) references course(cno);
三、添加数据
insert into student (sno,sname,ssex,sbirthday,classid) values(108,"曾华","男","1996-9-1","95033"),(105,"匡明","男","1995-10-2","95031"), (107,"王丽","女","1996-1-23","95033"),(101,"李军","男","1996-2-20","95033"), (109,"王芳","女","1995-2-10","95031"),(103,"陆君","男","1994-6-3","95031"); insert into teacher(tno,tname,tsex,tbirthday,professional,department) values(804,"李诚","男","1978-12-2","副教授","计算机系"), (856,"张旭","男","1979-3-12","讲师","电子工程系"), (825,"王萍","女","1982-5-5","助教","计算机系"), (831,"刘冰","女","1984-8-14","助教","电子工程系"); insert into course(cno,cname,tno) values("3-105","计算机导论",825),("3-245","操作系统",804), ("6-166","数字电路",856),("9-888","高等数学",831); insert into score(sno,cno,sdegree) values (103,"3-245",86), (105,"3-245",75), (109,"3-245",68), (103,"3-105",92), (105,"3-105",88), (109,"3-105",76), (101,"3-105",64), (107,"3-105",91), (108,"3-105",78), (101,"6-166",85), (107,"6-166",79), (108,"6-166",81);
学生表:
![mysql综合性练习[通俗易懂]插图3 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
教师表:
![mysql综合性练习[通俗易懂]插图5 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
课程表:
![mysql综合性练习[通俗易懂]插图7 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
成绩表:
![mysql综合性练习[通俗易懂]插图9 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
四、SQL题目
1、查询所有学生的姓名,性别及班级编号
![mysql综合性练习[通俗易懂]插图11 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
2、查询教师所有的部门名称(即不重复的DEPART列)
![mysql综合性练习[通俗易懂]插图13 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
3、查询student表的所有记录
![mysql综合性练习[通俗易懂]插图15 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
4、查询score表中成绩在60到80之间的所有记录
![mysql综合性练习[通俗易懂]插图17 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
5、查询score表中成绩为85,86或88的记录
![mysql综合性练习[通俗易懂]插图19 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
6、查询student表中班级编号为”95031″或性别为”女”的同学记录
![mysql综合性练习[通俗易懂]插图21 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
7、查询student表的所有记录,以班级编号降序排列
![mysql综合性练习[通俗易懂]插图23 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
8、查询score表的所有记录,先按照cno升序排列,若相同则按照sdegree降序排列
![mysql综合性练习[通俗易懂]插图25 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
9、查询班级编号为”95031″班级的学生人数
![mysql综合性练习[通俗易懂]插图27 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
10、查询score表中的最高分的学生学号和课程号
![mysql综合性练习[通俗易懂]插图29 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
11、查询编号为”3-105″的课程平均分
![mysql综合性练习[通俗易懂]插图31 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
12、查询score表中至少有5名学生选修的并以3开头的课程的平均分数
![mysql综合性练习[通俗易懂]插图33 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
13、查询每科成绩均在70到90之间的学生编号
![mysql综合性练习[通俗易懂]插图35 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
注意:having 后面只能跟聚合函数,如avg、min、max、sum等聚合函数
14、查询所有学生的姓名,所选课程编号和成绩
![mysql综合性练习[通俗易懂]插图37 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
15、查询所有学生的学号,所选课程名和成绩
![mysql综合性练习[通俗易懂]插图39 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
16、查询所有学生的姓名,所选课程名和成绩
![mysql综合性练习[通俗易懂]插图41 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
17、查询”95033″班同学所选每个课程的平均分
![mysql综合性练习[通俗易懂]插图43 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
18、假设使用如下命令建立了一个GRADE表:
CREATE TABLE GRADE(
LOW INT(3),
UPP INT(3),
RANK VARCHAR(1)
);
INSERT INTO GRADE VALUES(90,100,”A”);
INSERT INTO GRADE VALUES(80,89,“B”);
INSERT INTO GRADE VALUES(70,79,“C”);
INSERT INTO GRADE VALUES(60,69,“D”);
INSERT INTO GRADE VALUES(0,59,“E”);
– 现查询所有同学的学号,所选课程号和等级(RANK列)
![mysql综合性练习[通俗易懂]插图45 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
19、查询”3-105″课程的成绩高于学号为109同学这科成绩的所有同学记录
![mysql综合性练习[通俗易懂]插图47 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
20、查询1995年之后出生的所有学生所选学的课程名及成绩
![mysql综合性练习[通俗易懂]插图49 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
21、查询与学号108同学同年出生的所有学生的学号,姓名和生日
![mysql综合性练习[通俗易懂]插图51 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
22、查询”张旭”教师任课的学生成绩
![mysql综合性练习[通俗易懂]插图53 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
23、查询选修某课程的同学人数多于5人的教师姓名
![mysql综合性练习[通俗易懂]插图55 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
24、查询”95033″班和”95031″班全体学生的记录
![mysql综合性练习[通俗易懂]插图57 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
25、查询存在有85分以上成绩的课程编号
![mysql综合性练习[通俗易懂]插图59 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
26、查询出”计算机系”教师所教课程每一科成绩的平均分
![mysql综合性练习[通俗易懂]插图61 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
27、查询”计算机系”与”电子工程系”不同职称的教师的姓名和职称
![mysql综合性练习[通俗易懂]插图63 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
28、查询所有教师和同学的姓名,性别和生日
![mysql综合性练习[通俗易懂]插图65 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
29、查询所有”女”教师和”女”同学的姓名,性别和生日
![mysql综合性练习[通俗易懂]插图67 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
30、查询所有任课教师的姓名和部门
![mysql综合性练习[通俗易懂]插图69 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
31、查询所有未讲课的教师的姓名和部门
![mysql综合性练习[通俗易懂]插图71 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
32、查询student表中不姓”王”的同学记录
![mysql综合性练习[通俗易懂]插图73 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
33、查询student表中每个学生的姓名和年龄
![mysql综合性练习[通俗易懂]插图75 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
34、查询student表中最大和最小的生日值
![mysql综合性练习[通俗易懂]插图77 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
35、查询student表中的全部记录,按照班级编号降序排列,班级编号若相同则按照生日降序排列
![mysql综合性练习[通俗易懂]插图79 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
36、查询所有”男”教师及其所上的课程名称
![mysql综合性练习[通俗易懂]插图81 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
37、查询和”李军”同性别并同班的同学信息
![mysql综合性练习[通俗易懂]插图83 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
38、查询所有选修”计算机导论”课程的”男”同学的成绩表
![mysql综合性练习[通俗易懂]插图85 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
39、查询出同时选择”3-245″和”3-105″的课程的学生信息
![mysql综合性练习[通俗易懂]插图87 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
40、查询既没有选修”3-245″课程也没有选修”3-105″课程的学生信息
![mysql综合性练习[通俗易懂]插图89 mysql综合性练习[通俗易懂]](/wp-content/themes/justnews/themer/assets/images/lazy.png)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10997.html