数据库题库语句题Word格式.docx

上传人:b****3 文档编号:16922646 上传时间:2022-11-27 格式:DOCX 页数:25 大小:23.66KB
下载 相关 举报
数据库题库语句题Word格式.docx_第1页
第1页 / 共25页
数据库题库语句题Word格式.docx_第2页
第2页 / 共25页
数据库题库语句题Word格式.docx_第3页
第3页 / 共25页
数据库题库语句题Word格式.docx_第4页
第4页 / 共25页
数据库题库语句题Word格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

数据库题库语句题Word格式.docx

《数据库题库语句题Word格式.docx》由会员分享,可在线阅读,更多相关《数据库题库语句题Word格式.docx(25页珍藏版)》请在冰豆网上搜索。

数据库题库语句题Word格式.docx

groupby

3.设有学生表:

针对以上各表,请按如下模式写出创建满足如下要求的视图的SQL语句。

统计选课人数最多的前三门课程(包括并列的情况)的课程名和开课学期。

createviewv5(课程名,开课学期)as

createviewv5(课程名,开课学期)as

selectcname,semesterfromcoursewherecnoin(

selecttop3withtiescnofromsc

groupbycno

orderbycount(*)desc)

4.设有学生表:

查询计算机系哪些学生没有选课,列出学生姓名。

(请用外连接实现)

selectsnamefromstudentsleftjoinscon=

wheresdept='

计算机系'

andisnull

5.设有学生表:

删除“VB”考试成绩最低的学生的VB修课记录。

deletefromscwheresnoin(

selecttop1withtiessnofromscjoincoursecon=

wherecname='

VB'

orderbygradeasc)

andcnoin(

selectcnofromcourse

6.设有学生表:

查询计算机系年龄最大的三个学生的姓名和年龄(包括并列情况)

selecttop3withtiessname,sagefromstudent

wheresdept='

orderbysagedesc

7.设有学生表:

写出查询成绩小于60的学生姓名、课程名及成绩的SQL语句。

selectSname,Cname,GradefromStudentjoinSCon=

joinCourseon=

whereGrade<

60

8.设有学生表:

统计每个学生的选课门数和考试总成绩,并按选课门数升序显示结果。

selectsno,count(*)选课门数,sum(grade)总成绩fromsc

groupbysno

orderbycount(*)asc

9.设有学生表:

查询哪些课程没有学生选,列出课程号和课程名。

select,cnamefromcoursecleftjoinscon=

whereisnull

10.设有学生表:

查询VB考试成绩高于VB平均成绩的学生姓名。

selectsnamefromstudentsjoinscon=

joincoursecon=

andgrade>

selectavg(grade)fromscjoincoursecon=

11.设有学生表:

写出查询选课人数在3人以上课程的平均成绩的SQL语句。

selectCno,avg(Grade)fromCourse

cnohavingcount(*)>

=3

12.设有学生表:

查询选修C002课程的学生的姓名和所在系。

selectsname,sdeptfromstudentsjoinscon=

wherecno='

C002'

13.设有学生表:

在Course表中插入一行新数据,课程号为C100,课程名为Java,开课学期未定,学分为3。

insertintocoursevalues('

C100'

'

Java'

3,null)

14.设有学生表:

在Student表中插入一行新数据,学号为S100,姓名:

新生,性别:

男,年龄:

19,所在系未定。

insertintoStudentvalues('

S100'

新生'

男'

19,null)

15.设有学生表:

将C001课程的考试成绩增加10分。

updatescsetgrade=grade+10

C001'

16.设有学生表:

针对以上各表,用SQL语句完成以下操作。

统计每个系VB课程的考试情况,列出系名和考试情况,其中考试情况为:

如果VB平均成绩大于等于90,则考试情况为“好”;

如果VB平均成绩在80~89分,则考试情况为“良好”;

如果VB平均成绩在70~79分,则考试情况为“一般”;

如果VB平均成绩低于70分,则考试情况为“较差”。

selectsdept,考试情况=case

whenavg(grade)>

=90then'

好'

whenavg(grade)between80and89then'

良好'

whenavg(grade)between70and79then'

whenavg(grade)<

70then'

较差'

end

fromstudentsjoinscon=

vb'

groupbysdept

17.设有学生表:

统计每个学生的选课门数(包括没有选课的学生),列出学号、选课门数和选课情况,其中选课情况显示规则如下:

如果选课门数大于等于6,则选课情况为“多”;

如果选课门数在3~5,则选课情况为“一般”;

如果选课门在1~2,则选课情况为“偏少”。

如果没有选课,则选课情况为“未选课”。

select,count选课门数,选课情况=

case

=6then'

多'

whencountbetween3and5then'

whencountbetween1and2then'

偏少'

未选'

endfromstudentsleftjoinscon=

18.设有学生表:

统计每个学生的选课门数,并按选课门数的递增顺序显示结果。

selectsno,count(*)选课门数fromSC

19.设有学生表:

修改全部课程的学分,修改规则如下:

如果是第1~2学期开设的课程,则学分增加5分;

如果是第3~4学期开设的课程,则学分增加3分;

如果是第5~6学期开设的课程,则学分增加1分;

其他学期开设的课程学分不变。

updatecoursesetcredit=credit+

whensemesterin(1,2)then5

whensemesterin(3,4)then3

whensemesterin(5,6)then1

else0

end

20.设有学生表:

写出查询学号为“01”学生的考试成绩的SQL语句,结果按成绩降序排列,列出学号、姓名、课程名和成绩

select,Sname,Cname,Grade

fromStudentjoinSCon=

whereSno='

01'

orderbyGradedesc

21.设有学生表:

查询计算机系考试成绩最高的学生的姓名(包括并列情况)。

(请用子查询实现)

selectsnamefromstudentwheresnoin(

selecttop1withtiessnofromscjoinstudentson=

orderbygradedesc)

22.设有学生表:

用SQL语句完成以下操作。

查询计算机系每个学生的VB考试情况,列出学号、姓名、VB成绩和成绩情况,其中成绩情况的显示规则为:

如果成绩大于等于90,则成绩情况为“好”;

如果成绩在80~89,则成绩情况为“较好”;

如果成绩在70~79,则成绩情况为“一般”;

如果成绩在60~69,则成绩情况为“较差”;

如果成绩小于60,则成绩情况为“差”。

select,sname,grade,成绩情况=

whengrade>

whengradebetween80and89then'

较好'

whengradebetween70and79then'

whengradebetween60and69then'

whengrade<

60then'

差'

end

23.设有学生表:

查询VB考试成绩最低的学生的姓名、所在系和VB成绩。

Selectsname,sdept,min(grade)fromstudentsjoinscon=

Joincoursecon=

Wherecname=’VB’

24.设有学生表:

查询哪些课程没有人选,要求列出课程号和课程名。

(请用子查询实现)。

selectcno,cnamefromcoursewherecnonotin(selectcnofromsc)

25.设有学生表:

写出查询年龄在18-20岁的学生姓名、年龄和所在系的SQL语句

selectsname,sage,sdeptfromStudentwhereSagebetween18and20

26.以下是一个学生选课系统的数据库,包括三张表,分别为:

学生表、课程表、选课表,表结构如下所示:

   

学生

字段名称数据类型长度备注

学号char10主键

姓名varchar50

性别char2

出生日期datetime  

课程

课号char4主键

课程名varchar100

学分int   

选课

课号char4

成绩int      

将课号为“1001”的课程学分改为4

update课程set学分=4where课号='

1001'

27.设有学生表:

查询平均成绩大于80的课程的课程名和学分。

selectcname,creditfromcourse

wherecnoin(

selectcnofromsc

havingavg(grade)>

80)

28.设有学生表:

查询年龄最大的男生的姓名和年龄。

selectsname,sagefromstudent

wheresagein(

selectmax(sage)fromstudent

wheressex='

andssex='

29.已知一个数据表的结构如下,表名为“Product”。

列名数据类型长度备注描述

ProductIDchar12主键商品编号

ProductNamevarchar50商品名称

ProductPricefloat商品价格

ProductMemoVarchar50

由于供应商对商品的批发价格进行调整,现需对现行商品价格进行调整,规则如下:

原价格小于10元上调8%,

原价格大于30元上调6%,

其它上调7%,

请编写一段SQL脚本完成上述功能。

UPDATEProductSETProductPrice=   

CASE    

WHENProductPrice<

10THENProductPrice*    

WHENProductPrice>

30THENProductPrice*    

ELSEProductPrice*    

END

30.设有学生表:

写出查询计算机系全体女生的详细信息的SQL语句。

select*fromstudentwheresdept='

andssex='

女'

31.设有学生表:

查询C001课程的考试成绩高于该课程平均成绩的学生的学号和C001课成绩。

selectsno,gradefromsc

c001'

selectavg(grade)

fromsc

32.设有学生表:

统计考试平均成绩最高的前三名学生(包括并列的情况)的姓名和所在系。

createviewv7(姓名,所在系)as

createviewv7(姓名,所在系)as

selectsname,sdeptfromstudent

wheresnoin(

selecttop3withtiessnofromsc

orderbyavg(grade)desc)

33.设有学生表:

统计每个系的学生人数。

列出系和系学生人数。

selectsdept,count(*)学生人数fromstudent

34.设“图书”表的结构为:

Books(Bid,BName,Price),分别代表书号、书名和价格

写出实现下列查询要求的SQL语句。

查询所有书籍信息,列出:

书号、书名、价格和等级。

其中“等级”根据价格决定:

对价格小于等于20元的等级显示为“很便宜”,

对价格小于等于50元且大于20元的等级显示为“中等”,

对价格大于50元等级显示为:

“很贵”。

Select书号,书名,价格,

case     

whenPrice<

=20then'

很便宜'

     

=50and价格>

20then'

中等'

很贵'

    

endas等级    

fromBooks

35.设有学生表:

SC(Sno,Cno,Gra

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1