1、二、语句题 1、Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系 Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” c
2、no char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩 。 针对以上各表,用SQL语句完毕如下操作。 记录每个系VB课程考试状况,列出系名和考试状况,其中考试状况为: 如果VB平均成绩不不大于等于90,则考试状况为“好”; 如果VB平均成绩在8089分,则考试状况为“良好”; 如果VB平均成绩在7079分,则考试状况为“普通”; 如果VB平均成绩低于70分,则考试状况为“较差”。Select sdept系名Case When AVG(grade)=90 then 好 When AVG(grade) between 80 and 89 then良好 When
3、 AVG(grade) between70 and 79 then普通 When AVG(grade)70 then较差END AS 考试状况From student s join sc on s.sno=sc.snoWhere cname=VB2、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系 Course(
4、课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩。 针对以上各表,用SQL语句完毕如下操作。 查询哪些课程没有人选,规定列出课程号和课程名。(请用子查询实现)Select cno,cname from course Where
5、cno not in(select cno from sc)3、已知商品表、订单表、订单细节表、顾客表构造如下所示: 商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值不不大于等于0 顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 引用顾客表外键 订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键,引用订
6、单表外键 商品编号 char 5 主键,引用商品表外键 数量 int 默认值为1 针对以上各表,用SQL语句完毕如下操作。 查询每种商品订单数量,涉及没有订单商品。列出:商品编号和订单数量。Select 商品.商品编号,count(distinct 订单编号)as订单数量 from 商品 left outer join 订单细节 on 商品.商品编号=订单细节.商品编号Group by 商品.商品编号4、已知“图书”表构造如下: 列名 数据类型 长度 备注 书号 char 5 主键 书名 varchar 50 价格 numeric(10,2) 写出实现下列查询规定SQL语句。 查询所有书籍信息
7、,列出:书号、书名、价格和级别。其中“级别”依照价格决定:对价格不大于等于20元级别显示为“很便宜”,对价格不大于等于50元且不不大于20元级别显示为“中档”,对价格不不大于50元级别显示为:“很贵”。Select 书号,书名,价格Case When 价格50 then很贵END AS 级别From 图书5、此应用场景中重要包括如下几种关系: 1:影片专项信息(TSubject)关系,重要涉及专项编号(SubjectID)、专项名称(SubjectName)、备注(SubjectMemo);2:影片基本信息(TVideo)关系,重要涉及影片编号(VideoID)、影片名称(VideoName)
8、、导演(VideoDirector)、上映时间(VideoTime)、主演(VideoActor)、影片海报(VideoPoster)、影片描述(VideoDesc)、集数(VideoEpisode)、价格(VideoPrice)、影片状态(VideoState)、备注(VideoMemo)、专项编号(SubjectID); 3:影片剧情基本信息(TVideoEpisode)关系,重要涉及剧情编号(EpisodeID)、剧情集数(EpisodeNum)、播放地址(EpisodeURL)、备注(EpisodeMemo);、影片编号(VideoID);依照上述做给关系,写出记录各专项影片数量查询语
9、句,不涉及影片数量少于5部(涉及5部)影片。(表名、列名均用给出英文)Select SubjectID count(*)as影片数量 from TSubject join TVideo on TSubject.SubjectID=TVideo.SubjectIDGroup by SubjectIDHaving count(*)=56、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 s
10、age tinyint 年龄 sdept varchar 30 所在系 Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩。 针对以上各表,用SQL语句完毕如下操作。 删除计算机系VB成绩不及格学生VB选课记录。De
11、lete from scWhere sno in(select sno from student where=计算机系)and cno in(select cno from course where cname=VB)and grade607、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系 Course(课程表
12、) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩。 针对以上各表,用SQL语句完毕如下操作。 查询计算机系年龄最大三个学生姓名和年龄(涉及并列状况)。Select top 3 with ties sname,sage from stu
13、dentWhere sdept=计算机系Order by sage desc8、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系 Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semeste
14、r tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩。 针对以上各表,用SQL语句完毕如下操作。 删除信息管理系成绩不大于50分学生修课纪录。(请用子查询实现)Delete from scWhere sno in(select sno from student where sdept=信息管理系)And grade90 then好When grade between 80 and 89 then较好
15、When grade between70 and 70 then普通When grade between 60 and 69 then较差When grade80Order grade by desc20、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系 Course(课程表) 字段名称 数据类型 长度 备注 含
16、义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩。 针对以上各表,用SQL语句完毕如下操作。 修改高等数学考试成绩,修改规则如下:如果是计算机系学生,则加10分;如果是信息管理系学生则加5分;如果是数学系学生则分数不变。Update sc set grade=grade+
17、Case sdeptWhen 计算机系 then 10When 信息管理系 then 5When 数学系 then 0ENDFrom student s join sc on s.sno=sc.snoJoin course c on o=sc,cnoWhere cname=高等数学21、已知商品表、订单表、订单细节表、顾客表构造如下所示: 商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 int 取值不不大于等于0 顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varc
18、har 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表顾客编号 订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表订单编号 商品编号 char 5 主键。外键,引用商品表商品编号 数量 int 默认值为1 针对以上各表,用SQL语句完毕如下操作。 查询-12-1日订单信息,显示:订单编号、下单日期、顾客姓名。Select 订单编号,下单日期,顾客姓名 from顾客 join 订单 on 顾客.顾客编号=订单.顾客编号Where 下单日期=-12-122、如下是一种学
19、生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: Student(学生表) 字段名称 数据类型 长度 备注 含义 sno char 10 主键 学号 sname varchar 20 姓名 ssex char 2 性别 sage tinyint 年龄 sdept varchar 30 所在系 Course(课程表) 字段名称 数据类型 长度 备注 含义 cno char 4 主键 课程号 cname varchar 100 课程名 credit int 学分 semester tinyint 开课学期 SC(选课表) 字段名称 数据类型 长度 备注 含义 sno
20、char 10 主键 学号。外键,引用Student“sno” cno char 4 主键 课程号。外键,引用Course“Cno” grade int 成绩。 针对以上各表,用SQL语句完毕如下操作。 查询平均成绩不不大于80课程课程名和学分。Select cname,credit ,AVG(grade) from Course c join sc on o=oGroup by cnoHaving AVG(grade)80 23、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示: 学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varcha
21、r 50 性别 char 2 出生日期 datetime 课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 int 取值范畴为:0100 针对以上各表,用SQL语句完毕如下操作。 删除学号为“01”学生选课信息。Delete from 选课Where 学号=0124、已知商品表、订单表、订单细节表、顾客表构造如下所示: 商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varch
22、ar 50 单价 numeric(10,2) 库存数量 int 取值不不大于等于0 顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表顾客编号 订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表订单编号 商品编号 char 5 主键。外键,引用商品表商品编号 数量 int 默认值为1 针对以上各表,用SQL语句完毕如下操作。 将下列信息插入到商品表中。 商品编号 商品名称 单价
23、 库存数量 10001 电视机 20insert into 商品 values(10001,电视机,20)25、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课表,表构造如下所示: 学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 取值为“男”或“女” 出生日期 datetime 课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键,引用学生表外键 课号 char 4 主键,引用课程表外键 成绩 in
24、t 取值范畴为:0100 针对以上各表,用SQL语句完毕如下操作。 查询学号为“01”学生考试成绩,成果按成绩降序排列,列出学号、姓名、课程名和成绩Select 学号,姓名,课程名,成绩 from学生.学号 join 选课 on 学生.学号=选课.学号Join 课程.课号 on 课程.课号=选课.课号Where 学生.学号=01Order by 成绩 desc26、如下是一种学生选课系统数据库,涉及三张表,分别为:学生表、课程表、选课表,表构造如下所示: 学生 字段名称 数据类型 长度 备注 学号 char 10 主键 姓名 varchar 50 性别 char 2 出生日期 datetime
25、 课程 字段名称 数据类型 长度 备注 课号 char 4 主键 课程名 varchar 100 学分 int 选课 字段名称 数据类型 长度 备注 学号 char 10 主键 课号 char 4 成绩 int 针对以上各表,用SQL语句完毕如下操作。 查询选课人数在3人以上课程平均成绩Select 课号,AVG(成绩) from 选课Group by 课号Having count(课号)327、已知商品表、订单表、订单细节表、顾客表构造如下所示: 商品 字段名称 数据类型 长度 备注 商品编号 char 5 主键 商品名称 varchar 50 单价 numeric(10,2) 库存数量 i
26、nt 取值不不大于等于0 顾客 字段名称 数据类型 长度 备注 顾客编号 char 5 主键 顾客姓名 varchar 50 订单 字段名称 数据类型 长度 备注 订单编号 char 10 主键 下单日期 date 顾客编号 char 5 外键,引用顾客表顾客编号 订单细节 字段名称 数据类型 长度 备注 订单编号 char 10 主键。外键,引用订单表订单编号 商品编号 char 5 主键。外键,引用商品表商品编号 数量 int 默认值为1 针对以上各表,用SQL语句完毕如下操作。 查询商品种类数不不大于2订单(即订单细节中不不大于2行订单),列出:订单编号和商品种类数。Select 订单编号,count(商品编号)as商品种类数 from 订单细节Group by 订单编号Having count(*)228、如下是一种学生选课系统数据库中三张表:学生表、课程表、选课