疫情期間帶軟件測試學生學習數據庫知識

導入數據並根據題目要求查詢相關結果!

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='計算機系'

)

"/<b.maxdegree>


分享到:


相關文章: