疫情期间带河南的软件测试学员在网上复习数据库知识

 
导入数据并根据题目要求查询相关结果!
 
CREATE TABLE STUDENT
(SNO VARCHAR(3) NOT NULL,
SNAME VARCHAR(4) NOT NULL,
SSEX VARCHAR(2) NOT NULL,
SBIRTHDAY DATETIME,
CLASS VARCHAR(5))
go
CREATE TABLE COURSE
(CNO VARCHAR(5) NOT NULL,
CNAME VARCHAR(10) NOT NULL,
TNO VARCHAR(10) NOT NULL)
go
CREATE TABLE SCORE
(SNO VARCHAR(3) NOT NULL,
CNO VARCHAR(5) NOT NULL,
DEGREE NUMERIC(10, 1) NOT NULL)
go
CREATE TABLE TEACHER
(TNO VARCHAR(3) NOT NULL,
TNAME VARCHAR(4) NOT NULL, TSEX VARCHAR(2) NOT NULL,
TBIRTHDAY DATETIME NOT NULL, PROF VARCHAR(6),
DEPART VARCHAR(10) NOT NULL)
 
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (108 ,'曾华'
,'男' ,1977-09-01,95033);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (105 ,'匡明'
,'男' ,1975-10-02,95031);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (107 ,'王丽'
,'女' ,1976-01-23,95033);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (101 ,'李军'
,'男' ,1976-02-20,95033);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (109 ,'王芳'
,'女' ,1975-02-10,95031);
INSERT INTO STUDENT (SNO,SNAME,SSEX,SBIRTHDAY,CLASS) VALUES (103 ,'陆君'
,'男' ,1974-06-03,95031);
GO
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('3-105' ,'计算机导论',825)
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('3-245' ,'操作系统' ,804);
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('6-166' ,'数据电路' ,856);
INSERT INTO COURSE(CNO,CNAME,TNO)VALUES ('9-888' ,'高等数学' ,100);
GO
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (103,'3-245',86);
 
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (105,'3-245',75);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (109,'3-245',68);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (103,'3-105',92);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (105,'3-105',88);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (109,'3-105',76);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (101,'3-105',64);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (107,'3-105',91);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (108,'3-105',78);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (101,'6-166',85);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (107,'6-106',79);
INSERT INTO SCORE(SNO,CNO,DEGREE)VALUES (108,'6-166',81);
GO
INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (804,'李诚','男','1958-12-02','副教授','计算机系');
INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (856,'张旭','男','1969-03-12','讲师','电子工程系');
INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (825,'王萍','女','1972-05-05','助教','计算机系');
INSERT INTO TEACHER(TNO,TNAME,TSEX,TBIRTHDAY,PROF,DEPART)
VALUES (831,'刘冰','女','1977-08-14','助教','电子工程系');
 
题目:
1、  查询 Student 表中的所有记录的 Sname、Ssex 和 Class 列。
2、  查询教师所有的单位即不重复的 Depart 列。
3、  查询 Student 表的所有记录。
4、  查询 Score 表中成绩在 60 到 80 之间的所有记录。
5、  查询 Score 表中成绩为 85,86 或 88 的记录。
6、  查询 Student 表中“95031”班或性别为“女”的同学记录。
7、  以 Class 降序查询 Student 表的所有记录。
8、  以 Cno 升序、Degree 降序查询 Score 表的所有记录。
9、  查询“95031”班的学生人数。
10、查询 Score 表中的最高分的学生学号和课程号。
11、查询‘3-105’号课程的平均分。
12、查询 Score 表中至少有 5 名学生选修的并以 3 开头的课程的平均分数。
13、查询最低分大于 70,最高分小于 90 的 Sno 列。
14、查询所有学生的 Sname、Cno 和 Degree 列。
15、查询所有学生的 Sno、Cname 和 Degree 列。
16、查询所有学生的 Sname、Cname 和 Degree 列。
17、查询“95033”班所选课程的平均分。
18、查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。
19、查询 score 中选学一门以上课程的同学中分数为非最高分成绩的记录。
20、查询“张旭“教师任课的学生成绩。
21、查询选修某课程的同学人数多于 5 人的教师姓名。
22、查询存在有 85 分以上成绩的课程 Cno.
 
23、查询出“计算机系“教师所教课程的成绩表。
24、查询“计算机系”与“电子工程系“不同职称的教师的 Tname 和 Prof。

答案如下:
答案:

--1、 查询Student 表中的所有记录的Sname、Ssex 和Class 列。
select Sname,Ssex,Class
from Student

--2、 查询教师所有的单位即不重复的Depart 列。
select Depart
from TEACHER
group by Depart

--3、 查询Student 表的所有记录。
select *
from Student

--4、 查询Score 表中成绩在60 到80 之间的所有记录。'
select *
from Score
where DEGREE between 60 and 80

--5、 查询Score 表中成绩为85,86 或88 的记录。
select *
from Score
where DEGREE in (85,86,88)

--6、 查询Student 表中“95031”班或性别为“女”的同学记录。
select *
from Student
where Class='95031' and Ssex='女'

--7、 以Class 降序查询Student 表的所有记录。
select *
from Student
order by Class Desc

--8、 以Cno 升序、Degree 降序查询Score 表的所有记录。
select *
from Score
order by Cno,Degree Desc

--9、 查询“95031”班的学生人数。
select Class,count(*) [人数]
from Student
group by Class
having Class='95031'

--10、查询Score 表中的最高分的学生学号和课程号。
select Sno,Cno
from Score
where Degree in
(
select Max(Degree)
from Score
)

--11、查询‘3-105’号课程的平均分。
select Cno,avg(Degree) [平均分]
from Score
group by Cno
having Cno='3-105'

--12、查询Score 表中至少有5 名学生选修的并以3 开头的课程的平均分数。
select Cno,count(*) [选课人数],avg(Degree) [平均分]
from Score
group by Cno
having Cno like '3%' and count(*)>=5

--13、查询最低分大于70,最高分小于90 的Sno 列。
select Sno,max(degree) [最高分],min(degree) [最低分]
from Score
group by Sno
having min(degree)>70 and max(degree)<90

--14、查询所有学生的Sname、Cno 和Degree 列。
select A.Sname,B.Cno,B.Degree
from Student A,Score B
where A.Sno=B.Sno

--15、查询所有学生的Sno、Cname 和Degree 列。
select B.Sno,A.Cname,B.Degree
from Course A,Score B
where A.Cno=B.Cno

--16、查询所有学生的Sname、Cname 和Degree 列。
select A.Sname,B.Cname,C.Degree
from Student A,Course B,Score C
where A.Sno=C.Sno and B.Cno=C.Cno

--17、查询“95033”班所选课程的平均分。
select Cno,avg(Degree) [平均分]
from Score
where Sno in
(
select Sno
from Student
where Class='95033'
)
group by Cno

--18、查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。
select *
from Student
where Sno in
(
select SNO
from Score
where Cno='3-105'
and Degree>
(
select Degree
from Score
where Cno='3-105' and Sno='109'
))

--19、查询score 中选学一门以上课程的同学中分数为非最高分成绩的记录。
select *
from
(
select *
from Score
where Sno in
(
select Sno
from Score
group by Sno
having count(*)>1
)) A
inner join
(
select Cno,max(Degree) maxdegree
from Score
group by Cno
) B
on A.Cno=B.Cno
where A.Degree<B.maxdegree

--20、查询“张旭“教师任课的学生成绩。
select *
from Score
where CNO in
(
select CNO
from Course
where TNO in
(
select TNO
from Teacher
where Tname='张旭'
))

--21、查询选修某课程的同学人数多于5 人的教师姓名。
select Tname
from Teacher
where TNO in
(
select TNO
from Course
where CNO in
(
select CNO
from Score
group by Cno
having count(*)>5
))

--22、查询存在有85 分以上成绩的课程Cno.
select Cno
from Score
group by Cno
having max(degree)>=85

--23、查询出“计算机系“教师所教课程的成绩表。
select *
from Score
where CNO in
(
select CNO
from Course
where TNO in
(
select TNO
from Teacher
where Depart='计算机系'
))

--24、查询“计算机系”与“电子工程系“不同职称的教师的Tname 和Prof。
select Tname,Prof
from Teacher
where Depart='计算机系' and Prof not in
(
select Prof
from Teacher
where Depart='电子工程系'
)
or Depart='电子工程系' and Prof not in
(
select Prof
from Teacher
where Depart='计算机系'
)

 

发布了179 篇原创文章 · 获赞 61 · 访问量 19万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览