计算机题库《数据库》SQL语言复习题.docx

上传人:b****6 文档编号:7079011 上传时间:2023-01-17 格式:DOCX 页数:25 大小:44.60KB
下载 相关 举报
计算机题库《数据库》SQL语言复习题.docx_第1页
第1页 / 共25页
计算机题库《数据库》SQL语言复习题.docx_第2页
第2页 / 共25页
计算机题库《数据库》SQL语言复习题.docx_第3页
第3页 / 共25页
计算机题库《数据库》SQL语言复习题.docx_第4页
第4页 / 共25页
计算机题库《数据库》SQL语言复习题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

计算机题库《数据库》SQL语言复习题.docx

《计算机题库《数据库》SQL语言复习题.docx》由会员分享,可在线阅读,更多相关《计算机题库《数据库》SQL语言复习题.docx(25页珍藏版)》请在冰豆网上搜索。

计算机题库《数据库》SQL语言复习题.docx

计算机题库《数据库》SQL语言复习题

SQL语言

一、单项选择题

1.SQL语言是的语言,易学习。

A.过程化B.非过程化

C.格式化D.导航式

答案:

B

2.SQL语言是语言。

A.层次数据库B.网络数据库

C.关系数据库D.非数据库

答案:

C

3.SQL语言具有的功能。

A.关系规范化、数据操纵、数据控制

B.数据定义、数据操纵、数据控制

C.数据定义、关系规范化、数据控制

D.数据定义、关系规范化、数据操纵

答案:

B

4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。

其中最重要的,也是使用最频繁的语句是。

A.SELECTB.INSERTC.UPDATED.DELETE

答案:

A

5.SQL语言具有两种使用方式,分别称为交互式SQL和。

A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL

答案:

C

6.SQL语言中,实现数据检索的语句是。

A.SELECTB.INSERT

C.UPDATED.DELETE

答案:

A

7.下列SQL语句中,修改表结构的是。

A.ALTERB.CREATE

C.UPDATED.INSERT

答案:

A

第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

S(S#,SN,SEX,AGE,DEPT)

C(C#,CN)

SC(S#,C#,GRADE)

其中:

S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。

8.检索所有比“王华”年龄大的学生姓名、年龄和性别。

正确的SELECT语句是。

A.SELECTSN,AGE,SEXFROMS

WHEREAGE>(SELECTAGEFROMS

WHERESN=’王华’)

B.SELECTSN,AGE,SEXFROMS

WHERESN=’王华’

C.SELECTSN,AGE,SEXFROMS

WHEREAGE>(SELECTAGE

WHERESN=’王华’)

D.SELECTSN,AGE,SEXFROMS

WHEREAGE>王华.AGE

答案:

A

9.检索选修课程“C2”的学生中成绩最高的学生的学号。

正确的SELECT语句是。

A.SELECTS#FORMSCWHEREC#=’C2’ANDGRAD>=

(SELECTGRADEFORMSC

WHEREC#=’C2’)

B.SELECTS#FORMSC

WHEREC#=’C2’ANDGRADEIN

(SELECTGRADEFORMSC

WHEREC#=’C2’)

C.SELECTS#FORMSC

WHEREC#=’C2’ANDGRADENOTIN

(SELECTGRADEFORMSC

WHEREC#=’C2’)

D.SELECTS#FORMSC

WHEREC#=’C2’ANDGRADE>=ALL

(SELECTGRADEFORMSC

WHEREC#=’C2’)

答案:

D

10.检索学生姓名及其所选修课程的课程号和成绩。

正确的SELECT语句是。

A.SELECTS.SN,SC.C#,SC.GRADE

FROMS

WHERES.S#=SC.S#

B.SELECTS.SN,SC.C#,SC.GRADE

FROMSC

WHERES.S#=SC.GRADE

C.SELECTS.SN,SC.C#,SC.GRADE

FROMSJIONSCONS#=SC.S#

D.SELECTS.SN,SC.C#,SC.GRADE

FROMSJOINSC

答案:

C

11.检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

正确的SELECT语句是()。

A.SELECTS#,SUM(GRADE)FROMSC

  WHEREGRADE>=60

   GROUPBYS#

   ORDERBY2DESC

   HAVINGCOUNT(*)>=4

B.SELECTS#,SUM(GRADE)

  FROMSC

  WHEREGRADE>=60

  GROUPBYS#

  HAVINGCOUNT(*)>=4

  ORDERBY2DESC

C.SELECTS#,SUM(GRADE)

  FROMSC

  WHEREGRADE>=60

  HAVINGCOUNT(*)>=4

  GROUPBYS#

  ORDERBY2DESC

D.SELECTS#,SUM(GRADE)

  FROMSC

  WHEREGRADE>=60

  ORDERBY2DESC

  GROUPBYS#

HAVINGCOUNT(*)>=4

答案:

B

12.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。

要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。

A.SB.SC,CC.S,SCD.S,C,SC

答案:

D

13.在数据库的如下两个表中,若雇员信息表的主关键字是雇员号,部门信息表中的主关键字是部门号。

在下列所给的操作中,哪个不能执行______。

部门信息表雇员信息表

雇员号

雇员名

部门号

工资

001

010

056

101

张山

王宏

马林

赵明

02

01

02

04

2000

1200

1000

1500

部门号

部门名

负责人

01

02

03

04

业务部

销售部

服务部

财务部

王军

李建

刘伟

陈威

A.从雇员信息表中删除行(’010’,’王宏’,’01’,1200)

B.将行(’102’,’赵明’,’01’,1500)插入雇员信息表中

C.将雇员信息表中,雇员=’010’的工资改为1600元

D.将雇员信息表中,雇员=’101’的部门号改为’05’

14.数据库的两个表同上,若雇员信息表的主关键字是雇员号,部门信息表的主关键字是部门号。

在部门信息表中,哪一行可以被删除_________。

A.部门号=’01’的行B.部门号=’02’的行

C.部门号=’03’的行D.部门号=’04’的行

15.若用如下的SQL语句创建一个student表:

CREATETABLEstudent(NOC(4)NOTNULL,

NAMEC(8)NOTNULL,

SEXC

(2),

AGEN

(2))

可以插入到student表中的是。

A.(’1031’,’曾华’,男,23)B.(’1031’,’曾华’,NULL,NULL)

C.(NULL,’曾华’,’男’,’23’)D.(’1031’,NULL,’男’,23)

答案:

B

16.与HAVING子句一起使用的子句是()。

 A.GROUPBY  B.ORDERBY C.WHERE    D.JOIN

答案:

A

17.FOREIGNKEY约束是()约束。

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

答案:

B

18.视图创建完成后,数据字典中存放的是()。

 A.查询语句  B.查询结果   C.视图的定义  D.所引用的基本表的定义

答案:

C

19.查询中需要统计元组的个数时,应使用()函数。

 A.SUM(列名) B.COUNT(列名)   C.COUNT(*)     D.AVG(列名)

答案:

C

20.查询中需要统计某列中值的个数应使用()函数。

 A.SUM(列名)  B.COUNT(列名)   C.COUNT(*)     D.AVG(列名)

答案:

B

二、多项选择题

第1题到第4题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:

 S(S#,SN,SEX,AGE,DEPT)

  C(C#,CN)

  SC(S#,C#,GRADE)

其中:

S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE成绩

1.查询所有比“王华”年龄大的学生姓名、年龄和性别。

正确的SELECT语句是(AC)。

 A.SELECTSN,AGE,SEXFROMS

   WHEREAGE>(SELECTAGE FROMS WHERESN='王华')

 B.SELECTSN,AGE,SEX FROMS

   WHEREAGE>ANY

        (SELECTAGE FROMS WHERESN='王华')

 C.SELECTSN,AGE,SEX FROMS

   WHEREAGE>ALL

       (SELECTAGE FROMS WHERESN='王华')

 D.SELECTSN,AGE,SEX FROMS

   WHEREAGE>SOME

         (SELECTAGE FROMS WHERESN='王华')

2.查询选修了课程号为“C2”的学生中成绩最高的学生的学号,正确的SELECT语句是(ABC)。

 A.SELECTS# FROMSC WHEREC#='C2'ANDGRADE>=ALL

       (SELECTGRADE  FROMSC  WHEREC#='C2')

 B.SELECTS# FROMSC WHEREC#='C2'ANDGRADEIN

         (SELECTMAX(GRADE) FROMSC WHEREC#='C2')

 C.SELECTS# FROMSC WHEREC#='C2'ANDGRADE=

          (SELECTMAX(GRADE) FROMSC WHEREC#='C2')

 D.SELECTS# FROMSC WHEREC#='C2'ANDGRADE>=ANY

        (SELECTGRADE FROMSC WHEREC#='C2')

3.查询至少选修了两门课程的学生的姓名,正确的SELECT语句是(ACD)。

 A.SELECTS.SN FROMSJOINSCONS.S#=SC.S#

    GROUPBYS.S# HAVINGCOUNT(*)>=2

 B.SELECTS.SN FROMS

   WHEREEXISTS

     (SELECTS# FROMSC

       GROUPBYS#

       HAVINGCOUNT(*)>2)

 C.SELECTS.SN FROMS

JOINSCS1ONS.S#=SC.S#

JOINSCS2ONS1.S#=S2.S#

   WHERES1.C#!

=S2.C#

 D.SELECTS.SN FROMS WHERES#IN

       (SELECTS# FROMSC

         GROUPBYS#

         HAVINGCOUNT(*)>2)

4.查询所有没有被学生选过的课程的名称,正确的SELECT语句是(BD)。

 A.SELECTC.CN FROMCJOINSCONSC.C#=C.C# WHEREC.C#ISNULL

 B.SELECTC.CN FROMCLEFTJOINSCONSC.C#=C.C# WHERESC.C#ISNULL

 C.SELECTC.CN FROMSCLEFTJOINCONSC.C#=C.C# WHERESC.C#ISNULL

 D.SELECTC.CN FROMSCRIGHTJOINCONSC.C#=C.C# WHERESC.C#ISNULL

三、填空题

1.SQL是。

答案:

结构化查询语言

2.SQL语言的数据定义功能包括①、②、③和④。

答案:

①定义数据库②定义基本表③定义视图④定义索引

3.视图是一个虚表,它是从①中导出的表。

在数据库中,只存放视图的②,不存放视图的③。

答案:

①一个或几个基本表②定义③视图对应的数据

4.设有如下关系表R、S和T:

以R(BH,XM,XB,DWH)

S(DWH,DWM)

T(BH,XM,XB,DWH)

①实现R∪T的SQL语句是。

②实现DWH=‘100’(R)的SQL语句是。

③实现∏XM,XB(R)的SQL语句是。

④实现∏XM,DWH(XB=‘女’(R))的SQL语句是。

⑤实现RS的SQL语句是。

⑥实现∏XM,XB,DWM(XB=‘男’(RS))的SQL语句是。

答案:

①SELECT*FROMRUNIONSELECT*FROMT

②SELECT*FROMRWHEREDWH=’100’

③SELECTXM,XBFROMR

④SELECTXM,DWHFROMRWHEREXB=’女’

⑤SELECTR.BH,R.XM,R.XB,R.DWH,S.DWMFROMR

JIONSONR.DWH=S.DWH

⑥SELECTR.XM,R.XB,S.DWMFROMR

JOINSONR.DWH=S.DWH

WHERER.XB=’男’

5.设有如下关系表R:

R(No,NAME,SEX,AGE,CLASS)

主关键字是NO

其中NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号。

写出实现下列功能的SQL语句。

①插入一个记录(25,’李明’,’男’,21,’95031’);。

②插入’95031’班学号为30、姓名为’郑和’的学生记录;。

③将学号为10的学生姓名改为’王华’;。

④将所有“95101”班号改为’95091’;。

⑤删除学号为20的学生记录;。

⑥删除姓’王’的学生记录;。

答案:

①INSERTINTORVALUES(25,’李明’,’男’,21,’95031’)

②INSERTINTOR(NO,NAME,CLASS)VALUES(30,’郑和’,’95031’)

③UPDATERSETNAME=’王华’WHERENO=10

④UPDATERSETCLASS=’95091’WHERECLASS=’95101’

⑤DELETEFROMRWHERENO=20

⑥DELETEFROMRWHERENAMELIKE’王%’

 

四、简述与应用题

1.试述SQL语言的特点。

答:

(l)一体化。

SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。

(2)高度非过程化。

用SQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL语句的操作过程由系统自动完成。

(3)面向集合的操作方式。

SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

(4)以同一种语法结构提供两种使用方式。

SQL语言既是自含式语言,又是嵌入式语言。

作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。

(5)语言简捷,易学易用。

2.试述sQL的定义功能。

答:

SQL的数据定义功能包括定义表、定义视图和定义索引。

SQL语言使用CREATETABLE语句建立基本表,ALTERTABLE语句修改基本表定义,DROPTABLE语句删除基本表;使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引;使用CREATEVIEW语句建立视图,DROPVIEW语句删除视图。

3.叙述使用SQL语言实现各种关系运算的方法。

答:

SQL语言没有提供关系的笛卡尔积、交和差运算。

其他关系运算对应的SQL语句格式是:

R∪SSELECT*FROMR

   UNION

   SELECT*FROMS

选择SELECT*

   FROM <表>

   WHERE <指定选择的条件>

投影SELECT <投影字段列表>

   FROM <表>

连接SELECT <连接的字段列表>

   FROM <表名1>

   JION<表名2>ON <连接条件>

3.设有如下所示的三个关系,并假定这三个关系框架组成的数据模型就是用户子模式。

其中各个属性的含义如下:

A#(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B#(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量)。

试用SQL语言写出下列查询,并给出执行结果:

(1)找出店员人数不超过100人或者在长沙市的所有商店的代号和商店名。

SELECTA#,ANAME

FROMA

WHEREWQTY<=100ORCITY=‘长沙’

(2)找出供应书包的商店名。

SELECTA.ANAMEFROMA

JOINABONA.A#=AB.A#

JIONBONAB.B#=B.B#

WHEREB.BNAME=‘书包’

(3)找出至少供应代号为256的商店所供应的全部商品的商店名和所在城市。

SELECTA.ANAME,A.CITYFROMA,

JOINABONA.A#=AB.A#

WHEREAB.B#IN

(SELECTAB.B#;

FROMAB

WHEREA#=“256”)

A

A#

ANAME

WQTY

CITY

101

百货商店

15

长沙

204

长安商场

89

北京

256

西单商场

500

北京

345

铁道商店

76

长沙

620

太平洋百货

412

上海

B

B#

BNAME

PRICE

1

钢笔

21

2

羽毛球

5

3

复读机

300

4

书包

76

AB

A#

B#

QTY

101

1

105

101

2

42

101

3

25

101

4

104

204

3

61

256

1

241

256

2

91

345

1

141

345

2

18

345

4

74

620

4

125

4.设有图书登记表TS,具有属性:

BNO(图书编号),BC(图书类别),BNA(书名),AU(著者),PUB(出版社)。

按下列要求用SQL语言进行设计:

(1)按图书馆编号BNO建立TS表的索引ITS。

(2)查询,按出版社统计其出版图书总数。

(3)删除索引ITS。

解:

(1)CREATEINDEXITSONTS(BNO)

(2)SELECTPUB,COUNT(BNO)

FROMTS

GROUPBYPUB

(3)DROPINDEXITS

5.己知三个关系R(A,B,C)、S(A,D,E)和T(D,F),其中,名称相同的属性为关联属性,C、E为数值型属性。

试用SQL语句实现如下操作:

(1)将R、S和T三个关系按关联属性建立一个视图R-S-T;

(2)对视图R-S-T按属性A分组后,求属性C和E的平均值。

解:

(1)CREATEVIEWR_S_T

AS

SELECTR.A,B,C,S.D,E,F

FROMR

JOINSONR.A=S.A

JOINTS.D=T.D

(2)SELECTAVG(C),AVG(E)

FROMR_S_T

GROUPBYA

6.设有关系R(A,B)和S(A,C),A为相同属性。

试用SQL语句实现:

(1)查询属性C>50时,R中相关联的属性B之值。

(2)当属性C=40时,将R中与之相关连的属性B值修改为b4。

解:

(1)SELECTB

FROMRJOINSONR.A=S.A

WHEREC>50

(2)UPDATER

SETB=‘b4’

WHEREAIN

(SELECTA

FROMS

WHEREC=40)

7.已知R(A,B,C)和S(C,D,E)两个关系,如下图所示。

执行如下SQL语句:

(1)CREATEVIEWH(A,BC,C,D,E)

AS

SELECTA,B,R.C,D,E

FROMRJOINSONR.C=S.C;

(2)SELECTB,D,E

FROMH

WHEREC=‘C2’

试给出:

(1)视图H;

(2)对视图H的查询结果。

解:

本题的结果如图所示。

8.已知关系R如图所示。

试用SQL语句实现下列操作:

(1)按属性A分组,求出每组中在属性C上的最大值和最小值,且将它们置于视图RVE中。

(2)在视图RVE中查询属性A=‘98’的记录。

解:

(1)CREATEVIEWRVE(A,CMAX,CMIN)

ASSELECTA,MAX(C),MIN(C)

FROMR

GROUPBYA;

(2)SELECT*

FROMRVE

WHEREA=‘98’

9.已知学生表S和学生选课表SC。

其关系模式如下:

S(SNo,SN,SD,PROV)

SC(SNO,CN,GR)

其中,SNO为学号,SN为姓名,SD为系名,PROV为省区,CN为课程名,GR为分数。

试用SQL语言实现下列操作:

(1)查询“信息系”的学生来自哪些省区。

(2)按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。

解:

(1)SELECTDISTINCTPROV

FROMS

WHERESD=’信息系’

(2)SELECTSN,GR

FROMSJOINSCONS.SNO=SC.SNO

WHERESD=’英语系’ANDCN=’计算机’

ORDERBYGRDESC

10.设有学生表S(SNO,SN)(SNO为学号,SN为姓名)和学生选课表SC(SNO,CNO,CN

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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