SQL复习题Word下载.docx

上传人:b****2 文档编号:5168632 上传时间:2023-05-04 格式:DOCX 页数:13 大小:61.89KB
下载 相关 举报
SQL复习题Word下载.docx_第1页
第1页 / 共13页
SQL复习题Word下载.docx_第2页
第2页 / 共13页
SQL复习题Word下载.docx_第3页
第3页 / 共13页
SQL复习题Word下载.docx_第4页
第4页 / 共13页
SQL复习题Word下载.docx_第5页
第5页 / 共13页
SQL复习题Word下载.docx_第6页
第6页 / 共13页
SQL复习题Word下载.docx_第7页
第7页 / 共13页
SQL复习题Word下载.docx_第8页
第8页 / 共13页
SQL复习题Word下载.docx_第9页
第9页 / 共13页
SQL复习题Word下载.docx_第10页
第10页 / 共13页
SQL复习题Word下载.docx_第11页
第11页 / 共13页
SQL复习题Word下载.docx_第12页
第12页 / 共13页
SQL复习题Word下载.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

SQL复习题Word下载.docx

《SQL复习题Word下载.docx》由会员分享,可在线阅读,更多相关《SQL复习题Word下载.docx(13页珍藏版)》请在冰点文库上搜索。

SQL复习题Word下载.docx

C.Selectpub_namefrompublisherswherepub_namelike‘[^book]。

D.Selectpub_namefrompublisherswherepub_namelike‘b_o_o_k’。

5、关系数据库是若干(A 

)的集合。

A.表(关系) 

B.视图 

C.列 

D.行

6、通过CREATE TABLE语句创建一个表后,可以使用()语句在表中添加记录(B)

A、DeleteB、insertC、updateD、add

7、触发器包括哪两种触发方式?

( A )。

A、后触发和替代触发B、自动触发和手动触发

C、原始触发和后触发D、自动触发和替代触发

(以下8—11题基于以下三张表):

(有下划线的为主键,选课表的学号、课程号分别引用了学生表.学号和课程表.课程号,参照关系均不是级联更新、级联删除)

8、现要为年龄字段创建一个规则,该规则要求输入的数值只能介于16至25之间,下列语句正确的是(D)

A、createrulerule_nameas年龄between16and25

B、createrulerule_nameas年龄like’[6-15]’

C、createrulerule_nameas@x>

=16and<

=25

D、createrulerule_nameas@x>

=16and@x<

9、在选课表中插入如下记录(0x003,005,85),结果将是(C)

A、正常插入B、学号列违反了参照完整性

C、课程号列违反了参照完整性D、违反了实体完整性

10、执行如下查询语句:

select成绩from选课表a,课程表b,学生表cwherea.学号=c.学号anda.课程号=b.课程号and课程名=’数据库’and姓名=’王开’

结果将会是(D)

A、75B、84C、85D、79

11、执行如下语句:

deletefrom学生表where学号=’0x001’,结果将是;

(C)

A、删除学号为0x001的记录

B、删除所有记录

C、不能删除

D、破坏了数据完整性

12、在创建视图时可以对其定义进行加密,加密后的视图定义(A)。

A、即使是该视图的创建者和系统管理员也不可以查看。

B、该视图的创建者可以查看,而系统管理员就不可以。

C、该视图的创建者不可以查看,但系统管理员则可以。

D、该视图的创建者和系统管理员可以查看,但其他用户不可以。

13、使用EXECUTE(EXEC)命令执行存储过程,(A)。

A、若该条语句是批处理的第一条语句时,则EXECUTE可以省略。

B、若执行的是系统存储过程时,则EXECUTE可以省略。

C、若执行的是用户定义存储过程时,则EXECUTE可以省略。

D、在任何情况下EXECUTE都不可以省略

14、假定学生关系是S(学号,姓名,性别,年龄) 

课程关系是C(课程号,课程名,学分) 

学生选课关系是SC(学号,课程号,成绩) 

要查找选修"

数据库"

课程的女学生的姓名,将涉及到的关系为(D)

A、S 

B、SCC、S,SCD、 

S,C,SC 

15、查询编号为2或4的货品信息,以下查询条件中,(B)是错误的

A、编号in(’2’,’4’)B、编号=2and编号=4

C、编号=2or编号=4D、编号between2and4and编号<

>

3

16、在视图上不能完成的操作是(C)

A、更新视图B、查询C、定义基本表D、定义新视图

二、填空题

1、在SELECT语句中用distinct关键字消除重复行

2、SELECT语句的top子句可以限制返回的行数

3、rtrim函数能将字符串末尾的空格删除。

4、可以通过declare语句来指定变量名称和数据类型

5、SELECT语句的orderby子句可以改变输出结果行的排序。

6、count集合函数能确定一个表中包含多少行

7、可用dropproc命令从系统中删除存储过程

8、语句SELECTex_sqrt=SQRT(625)的执行结果是25

9、ODBC的含义是开放数据库互联

10、ADO的含义是活动数据对象。

11、触发器可引用视图或临时表,并产生两个特殊的表Inserted和deleted。

12、数据完整性主要包括实体完整性、参照完整性、域完整性和用户自定义完整性。

13、主键约束可以强制表中记录的惟一性;

外键约束可以强制两个表之间参照的完整性;

14、declare@xint,@yint,@zint

select@x=1,@y=2,@z=3

if@x>

@y

print'

x>

y'

elseif@y<

@z

print'

y<

z'

elseprint'

z>

写出其运行结果:

z

15、declare@xint

select@x=case

when1>

2then5

when‘a’in(‘I’,’am’,’stuedent’)then2

else1

end

上述程序运行后,@x的值为1

下面是创建一个自定义函数的代码,该函数可以实现输出三个整型参数的最大者。

createfunctionmaxint(@xint,@yint,@zint)

Returnsint

as

begin

declare@maxint

set@max=@x

if@max<

set@max=@y

set@max=@z

return@max

go

三、以下题目在CJGL数据库中完成

1.创建表male_student,字段定义如下:

字段名称

数据类型

约束类型

学号

Char(10)

主键

姓名

Varchar(10)

非空

身份证

Char(18)

Createtablemale_student

(学号char(10)constraintkingprimarykey,

姓名varchar(10)notnull,

身份证char(18))

2.将student表中性别为“男”、学号前4位为“0804”的所有记录插入上表中。

Insertintomale_student

Selectsno,sname,id_cardfromstudent

Wheresexin(‘男’)andsnolike‘0804%’

3.修改表male_student,增加一个字段“出生日期”。

Altertablemale_student

Add出生日期datetimenull

4.更新记录:

将male_student表中所有记录的“出生日期”字段值进行更新,更新规则为:

出生日期为身份证7-14位相对应的日期。

Updatemale_student

Set出生日期=(selectsubstring(身份证,7,4)+’-’+substring(身份证,11,2)+’-’+substring(身份证,13,2)frommale_student)

5.删除记录:

将male_student表中所有年龄大于25岁的记录删除。

Deletemale_student

Wheredatediff(yy,出生日期,getdate())>

25

Go

6.请找出student表中性别为“男”、出生日期在1989-12-31之后的记录。

Select*fromstudentwheresex=’男’andbirthdate>

‘1989-12-31’

7.请找出“08网络技术1班”中1989年之后出生的学生记录,并按出生日期降序排列。

Selectstudent.*fromstudent,class

Wherestudent.classID=class.classIDand

className=’08网络技术1班’andbirthdate>

orderbybirthdatedesc

8.查询如下班级的信息:

08网络技术1班、08网络技术2班、07网络技术1班、07网络技术2班

Selectdistinct*fromclass,student

Whereclass.classnamein(’08网络技术1班’,’08网络技术2班’,’07网络技术1班’,’07网络技术2班’)

9.查询课程名称包含“数据库“的有关课程信息

Select*fromcoursewherecoursenamelike‘%数据库%’

10.查询课程表,给出学分大于等于3的所有课程的如下信息:

课程编号、课程名称、学分、考试类型

Selectspecialtyidas‘课程编号’,specialty_nameas‘课程名称’,departidas‘学分’,examtypeas‘考试类型’fromspecialty,course

Wheredepartid>

=3

11.请统计一下电子系所有班级的人数。

Selectcount(*)as‘电子系所有班级人数’fromdepartment,specialty,class,student

Wheredepartname=’电子信息工程系’anddepartment.departid=specialty,departidand

Specialty.specialtyid=class.specialtyidandclass.classid=student.classid

12.请找出没有被排课的课程信息。

Select*fromcoursewherectypeisnull

13.创建视图view_补考:

显示电子系每学期需要补考的学生学号、姓名、班级、课程、原分数、学期。

Createviewview_补考

As

Selectstudent.snoas学号,snameas姓名,classnameas班级,coursenameas课程,scoreas原分数,termas学期

Fromstudentinnerjoinclassonstudent.classid=class.classid

Joinscoreonstudent.sno=score.sno

Joincourseonscore.courseid=course.courseid

Jointimetableoncourse.courseid=timetable.courseid

Wherescore.score<

60

14.声明2个变量,分别为字符型和整型,为其赋值为student表中学号为0804021077的学生姓名和年龄,并以消息方式输出。

如下所示:

Declare@kingchar(8),@wangint

Set@king=(selectsnamefromstudentwhresno=’08040201077’)

Set@wang=cast(datediff(yy,(selectbirthdatefromstudentwheresno=’08040201077’),getdate())aschar

(2))

Print@king+’的年龄是:

’+convert(char

(2),@wang)+’岁’

15.请计算20!

(阶乘)。

Declare@wangbigint,@kingbigint

Set@wang=1

Set@king=1

While(@wang<

=20)

Begin

Set@king=@wang*@king

Set@wang=@wang+1

End

Printconvert(varchar(30),@king)

16.创建函数MY_MAX,根据输入的三个整数,返回最大值

CreatefunctionMY_MAX

(@xint,@yint,@zint)

Declare@maxint

Set@max=@x

If@max<

Set@max=@y

Set@max=@z

Return@max

End

/*调用函数:

*/selectdbo.MY_MAX(‘1’,’2’,’3’)as‘x、y、z间的最大值’

17.创建函数credits,根据输入的学号,返回该学生已经取得的学分。

,并以该函数计算“08网络技术1、2班”的所有学生的学分

Createfunctioncredits

(@kingchar(10))

Returnstinyint

Declare@wangtinyint

Select@wang=specialty.departidfromspecialty,class,student

Wherestudent.sno=@kingandstudent.classid=class.classidandclass.specialtyid=specialty.specialtyid

Return@wang

*/selectdbo.credits(‘0703011002’)as‘该生取得学分’

一、选择题(

1、在DBS中,DBMS和OS之间的关系为(B)

A、相互调用B、DBMS调用OSC、OS调用DBMSD、并行运行

2、关系模型中,表示实体间m:

n联系是通过增加一个(B)来实现

A、属性B、关系C、关系的一个属性D、关系或属性

3、完整性措施的防范对象是(D)

A、错误的规则B、非法用户C、非法操作D、不合定义的数据

4、视图本身不独立存储在数据库中,即数据库只存放视图的(A),而不另外存储视图(B),视图是一个(C)

A、定义B、对应的数据C、虚拟表D、结构

5、下列实体类型的联系中,属于一对多的联系是(A)

A、班级与学生B、学院与院长C、学生与课程D、班级与班长

6、下列关于数据库的说法中,不正确的是(A)

A、数据库可以避免一切的冗余B、数据库中的数据具有保密性

C、数据库中的数据具有一致性D、能够并发控制、具有故障恢复功能

7、在视图上不能完成的操作是(C)

A、更新视图B、查询C、定义新的基本表D、定义新视图

8、一个数据库系统至少包括数据、硬件、软件和(

B)四种成分,其中的软件主要指(

B)。

在数据库系统中,供用户在应用程序中对数据库进行检索、更新所用的语言工具称为(

C),当它嵌入到某一高级语言时,则称此高级语言为(

D)。

关系数据库中,元组的集合称为关系,能唯一标识元组的属性集的值称为(

A)

1A、环境B、用户C、界面D、管理

2A、数据库B、数据库管理系统C、操作系统D、文件系统

3A、数据定义语言B、数据处理语言C、数据操作语言D、数据库语言

4A、嵌入语言B、过程语言C、数据语言D、宿主语言

5A、关键字B、字段C、索引D、属性

9、在关系模式中,一个关键字是由(D)组成

A、一个或多个任意属性B、一个属性

C、不能由全部属性组成D、由一个或多个能唯一标识元组的属性组成

10、在关系中,对元组的说法正确的是(A)

A、元组的顺序可以任意B、排列结果不同,则得到的视图结果也不同

C、不可乱排D、要按关键字的顺序排列

11、下列关于属性的说法不正确的是(D)

A、属性的左右顺序无关B、属性名称不同,但可以是同一个域

C、属性的值是原子性的,不可再分D、属性可以同名,但必须不同域

12、在关系的各种运算中,花费时间最长的是(A)

A、广义笛卡尔积B、连接C、选择D、投影

13、在职工关系中,属性“姓名”只能是字符串类型的约束是(C)

A、参照完整性B、实体完整性C、域完整性D、用户定义完整性

14、在职工关系中,对属性“工种”必须在关系“工种”中存在,这种约束属于(A)

15、按照关系数据库中关系的特点,下列不属于关系的是(C)

A、R(职工编号,职工姓名,性别)B、R(职工编号,职工姓名,工种)

C、R(职工编号,职工姓名,简历表)D、R(职工编号,职工姓名,电话)

16、假设Age是关系R中的一个属性,则在SQL中,下列涉及空值的操作中,不正确的是(C)

A、ageisNullB、ageisnotnullC、age=nullD、not(ageisnull)

17、下面不是SQL语言的特点的是(D)

A、结构化B、非过程化C、嵌入式D、面向对象

18、在关系数据库中,SQL的全称是(D)

A、SelectedQueryLanguageB、ProcedureQueryLanguage

C、StadardQueryLanguageD、StructuredQueryLanguage

19、以下(D)事件不会引起数据库中DML触发器触发

A、insertB、updateC、deleteD、createtable

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2