SQL语言综合 课堂练习和习题Word文件下载.docx

上传人:b****5 文档编号:20277243 上传时间:2023-01-21 格式:DOCX 页数:24 大小:26.73KB
下载 相关 举报
SQL语言综合 课堂练习和习题Word文件下载.docx_第1页
第1页 / 共24页
SQL语言综合 课堂练习和习题Word文件下载.docx_第2页
第2页 / 共24页
SQL语言综合 课堂练习和习题Word文件下载.docx_第3页
第3页 / 共24页
SQL语言综合 课堂练习和习题Word文件下载.docx_第4页
第4页 / 共24页
SQL语言综合 课堂练习和习题Word文件下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

SQL语言综合 课堂练习和习题Word文件下载.docx

《SQL语言综合 课堂练习和习题Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQL语言综合 课堂练习和习题Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。

SQL语言综合 课堂练习和习题Word文件下载.docx

B.S.S#=SC.S#andC.C#=SC.C#andSAGEin>

=20andCNAMEin'

C.SAGEin>

D.SAGE>

ACCESS'

12.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;

grade为成绩,数值型,取值范围0-100.若要把"

张二的化学成绩80分"

插入S中,则可用().

A.ADDINTOSVALUES('

张二'

'

化学'

80'

B.INSERTNTOSVALUES('

C.ADDINTOSVALUES('

80)

D.INSERTINTOSVALUES('

13.设关系数据库中一个表S的结构为:

S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;

grade为成绩,数值型,取值范围0-100.若要更正王二的化学成绩为85分,则可用().

A.UPDATESSETgrade=85WHERESN='

王二'

ANDCN='

B.UPDATESSETgrade='

85'

WHERESN='

C.UPDATEgrade=85WHERESN='

D.UPDATEgrade='

14.在SQL语言中,子查询是().

A.返回单表中数据子集的查询语言B.选取多表中字段子集的查询语句

C.选取单表中字段子集的查询语句D.嵌入到另一个查询语句之中的查询语句

15.SQL是一种()语言.

A.高级算法B.人工智能C.关系数据库D.函数型

16.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE).其中S#是学生号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称.要查询选修"

数据库"

课的全体男生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句.这里的WHERE子句的内容是().

A.S.S#=SC.S#andC.C#=SC.C#andSEX='

男'

andCNAME='

数据库'

B.S.S#=SC.S#andC.C#=SC.C#andSEXin'

andCNAMEin'

C.SEX'

andCNAME'

数据库'

D.S.SEX='

17.若用如下的SQL语句创建了一个表SC:

CREATETABLESC(S#CHAR(6)NOTNULL,C#CHAR(3)NOTNULL,SCOREINTEGER,NOTECHAR(20));

向SC表插入如下行时,()行可以被插入.

A.('

201009'

111'

60,必修)

B.('

200823'

101'

NULL,NULL)

C.(NULL,'

103'

80,'

选修'

D.('

201132'

NULL,86,'

'

18.假设学生关系S(S#,SNAME,SEX),课程关系C(C#,CNAME),学生选课关系SC(S#,C#,GRADE).要查询选修"

Computer"

课的男生姓名,将涉及到关系().

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

19.SQLServer2000的字符型系统数据类型主要包括()。

A.int、money、charB.char、varchar、text

C.datetime、binary、intD.char、varchar、int

20.如果要在SQLServer2000中存储图形图像、Word文档文件,不可采用的数据类型是()。

A.binaryB.varbinaryC.imageD.text

21.不属于SQLServer2000系统全局变量的是()。

A.@@ErrorB.@@Connections

C.@@Fetch_StatusD.@Records

22.SQLServer2000提供的单行注释语句是使用()开始的一行内容。

A.“/*”B.“--”C.“{”D.“/”

23.下列标识符可以作为局部变量使用()。

A.[@Myvar]B.MyvarC.@MyvarD.@Myvar

24.在SQLServer中,WAITFOR语句中的DELAY参数是指(  )。

A.要等待的时间 

 

B.指示SQLServer一直等到指定的时间过去

C.用于指示时间 

 

D.以上都不是

25.下面( 

)组命令,将变量count值赋值为1。

A.DECLARE@count

SELECT@count=1

B.DIMcount=1 

C.DECLAREcount

SELECTcount=1

D.DIM 

@count

26.下列( 

)赋值语句是错误的。

A.SELECT @C=1 

B. 

SET@C=1 

C.SELECT@DJ=单价

FROMbook

ORDERBY单价 DESC

D.SET@DJ=单价

27.在SQLServer编程中,可使用(  )将多个语句捆绑。

A.{} 

B.BEGIN-END 

C.( 

) 

D.[ 

]

28.在SQLServer2000中,下列变量名正确的是( 

)。

A.@sum 

B.j 

C.sum 

D.4kk

选择题答案:

(1)B

(2)A(3)C(4)C(5)B(6)A(7)D(8)C(9)C(10)B

(11)A(12)D(13)A(14)D(15)C(16)A(17)B(18)D(19)B(20)D

(21)D(22)B(23)C(24)A(25)A(26)D(27)B(28)A

二、填空题

1. 

在T-SQL编程语句中,WHILE结构可以根据条件多次重复执行一条语句或一个语句块,还可以使用(  )和CONTINUE关键字在循环内部控制WHILE循环中语句的执行。

2. 

在T-SQL编程语句中,(  )用于使语句在某一时刻或在一段时间间隔后继续执行。

1.break2.waitfor

三、简答题

1.试述SQL语言的特点.

答:

(1)综合统一.SQL语言集数据定义语言DDL,数据操纵语言DML,数据控制语言DCL的功能于一体.

(2)高度非过程化.用SQL语言进行数据操作,只要提出"

做什么"

而无须指明"

怎么做"

因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成.

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

(4)以同一种语法结构提供两种使用方式.SQL语言既是自含式语言,又是嵌入式语言.作为自含式语言,它能够独立地用于联机交互的使用方式,也能够嵌入到高级语言程序中,供程序员设计程序时使用.

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

2.试述SQL的定义功能.

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

SQL语言使用CREATETABLE语句定义建立基本表,;

ALTERTABLE语句修改基本表定义,DROPTABLE语句删除基本表;

建立索引使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引表;

SQL语言使用CREATEVIEW命令建立视图,DROPVIEW语句删除视图.

3.用SQL语句建立“关系数据库和关系代数课堂练习和习题”中的四个表.

对于S表:

S(SNO,SNAME,STATUS,CITY);

建S表:

CREATETABLES

(SNOCHAR(3),

SNAMECHAR(10),

STATUSCHAR

(2),

CITYCHAR(10));

P(PNO,PNAME,COLOR,WEIGHT);

建P表:

CREATETABLEP

(PNOCHAR(3),

PNAMECHAR(10),

COLORCHAR(4),

WEIGHTINT);

J(JNO,JNAME,CITY);

建J表:

CREATETABLEJ

(JNOCHAR(3),

JNAMECHAR(10),

SPJ(SNO,PNO,JNO,QTY);

建SPJ表:

CREATETABLESPJ

PNOCHAR(3),

JNOCHAR(3),

QTYINT);

4.针对上题中建立的四个表试用SQL语言完成“关系数据库和关系代数课堂练习和习题”的查询.

(1)求供应工程J1零件的供应商号码SNO;

SELECTSNO

FROMSPJ

WHEREJNO='

J1'

;

(2)求供应工程J1零件P1的供应商号码SNO;

ANDPNO='

P1'

(3)求供应工程J1零件为红色的供应商号码SNO;

ANDPNOIN

(SELECTPNO

FROMP

WHERECOLOR='

红'

);

FROMSPJ,P

ANDSPJ.PNO=P.PNOANDCOLOR='

*(4)求没有使用天津供应商生产的红色零件的工程号JNO;

解析:

用SQL语言表示如下:

SELECTJNO

FROMJ

WHERENOTEXISTS

(SELECT*

WHERESPJ.JNO=J.JNO

ANDSNOIN

(SELECTSNO

FROMS

WHERECITY='

天津'

));

FROMSPJ,S,P

WHERESPJ.JNO=J.JNOANDSPJ.SNO=S.SNOANDSPJ.PNO=P.PNOANDS.CITY='

ANDP.COLOR='

注意:

从J表入手,以包含那些尚未使用任何零件的工程号.

*(5)求至少用了供应商S1所供应的全部零件的工程号JNO.

SELECTDISTINCTJNO

FROMSPJSPJZ

FROMSPJSPJX

WHERESNO='

S1'

ANDNOTEXISTS

FROMSPJSPJY

WHERESPJY.PNO=SPJX.PNO

ANDSPJY.JNO=SPJZ.JNO

ANDSPJY.SNO='

))

5.针对习题3中的四个表试用SQL语言完成以下各项操作:

(1)找出所有供应商的姓名和所在城市.

(2)找出所有零件的名称,颜色,重量.

(3)找出使用供应商S1所供应零件的工程号码.

(4)找出工程项目J2使用的各种零件的名称及其数量.

(5)找出上海厂商供应的所有零件号码.

(6)找出使用上海产的零件的工程名称.

(7)找出没有使用天津产的零件的工程号码.

(8)把全部红色零件的颜色改成蓝色.

(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改.

(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录.

(11)请将(S2,J6,P4,200)插入供应情况关系.

(1)找出所有供应商的姓名和所在城市.

SELECTSNAME,CITY

FROMS;

(2)找出所有零件的名称,颜色,重量.

SELECTPNAME,COLOR,WEIGHT

FROMP;

(3)找出使用供应商S1所供应零件的工程号码.

(4)找出工程项目J2使用的各种零件的名称及其数量.

SELECTP.PNAME,SPJ.QTY

FROMP,SPJ

WHEREP.PNO=SPJ.PNO

ANDSPJ.JNO='

J2'

(5)找出上海厂商供应的所有零件号码.

SELECTDISTINCTPNO

WHERESNOIN

上海'

(6)找出使用上海产的零件的工程名称.

SELECTJNAME

FROMJ,SPJ,S

WHEREJ.JNO=SPJ.JNO

ANDSPJ.SNO=S.SNO

ANDS.CITY='

WHEREJNOIN

(SELECTJNO

FROMSPJ,S

WHERESPJ.SNO=S.SNO

(7)找出没有使用天津产的零件的工程号码.

WHERESPJ.JNO=J.JNOANDSNOIN

(SELECT*1

WHERESPJ.JNO=J.JNOANDSPJ.SNO=S.SNOANDS.CITY='

(8)把全部红色零件的颜色改成蓝色.

UPDATEP

SETCOLOR='

蓝'

;

(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改.

UPDATESPJ

SETSNO='

S3'

S5'

ANDJNO='

J4'

P6'

(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录.

DELETE

S2'

注意删除顺序,应该先从SPJ表中删除供应商S2所供应零件的记录,然后从从S表中删除S2.

(11)请将(S2,J6,P4,200)插入供应情况关系.

INSERTINTOSPJ(SNO,JNO,PNO,QTY)

VALUES(S2,J6,P4,200);

INSERTINTOSPJ

VALUES(S2,P4,J6,200);

6.针对系统示例数据库中的相应表,写出满足要求的SQL语句。

(1).查询pubs数据库的authors表中的作者的姓(au_lname)、名(au_fname)和电话号码(phone)。

(2).使用TOP关键字,从Northwind数据库的customers表中搜索返回前20%的数据。

(3).查询Northwind数据库的Orders表中的数据,并将其中的货物重量feight增加50%。

(4).使用WHERE子句从Northwind数据库的Products表中检索出所有单位价格(UnitPrice)超过50美元的货物名称(ProductName)、货物代号(ProductID)以及每单位重量(QuantityPerUnit)。

(5).在Northwind数据库的Employees表中搜索出职务(Title)为销售代表(SalesRepresentative),称呼(TitleOfCourtesy)为小姐(MS)的所有职员的名(FirstName)、姓(LastName)和生日(BirhthDate)。

(6).查询在Northwind数据库的Employees表中以字母A作Firstname第一个字母的雇员的Firstname和Lastname。

(7).查询Northwind数据库Employees表中所有雇员的Firstname和Lastname,并按生日BirthDate从小到大进行排列。

(8).在Northwind数据库的Products表中查询出每个供应商(Suppliers)所提供的每一种平均价格(Unitprice)超过15美元的产品,并按供应商的ID分类。

四、写出下列每条语句或程序段的功能

假设存在名为AAA的数据库,包括Students(学号char(8),姓名varchar(8),年龄int,专业varchar(20),入学日期DateTime)和Score(学号char(8),课程名varchar(10),成绩numeric(5,2))两张表。

1.SELECT*

FROMStudents

WHEREDATEPART(year,入学日期)=DATEPART(year,GETDATE())

2.DECLARE@MyNOCHAR(8)

SET@MyNO='

20030001'

IF(SELECT专业FROMStudentsWHERE学号=@MyNO)='

计算机软件'

BEGIN

SELECTAVG(成绩)AS平均成绩

FROMScore

WHERE学号=@MyNO

END

ELSE

PRINT'

学号为'

+@MyNO+'

的学生不存在或不属于软件专业'

GO

3.declare@anumeric(5,2)

set@a=(selectavg(成绩)fromscore)

select*

fromscore

where成绩>

=@a

4.declare@anumeric(5,2),@bnumeric(5,2)

set@a=(selectmax(成绩)fromscore)

set@b=(selectmin(成绩)fromscore)

print@a-@b

5.declare@achar(6)

set@a='

刘亮'

if(exists(select*fromstudentswhere姓名=@a))

print'

姓名为'

+@a+'

的同学存在!

'

else

的同学不存在!

6.declare@achar(8)

计算机'

select计算机专业人数=count(*)

fromstudents

whereleft(专业,3)=@a

7.selectyear(入学日期)as入学年份,count(*)as人

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

当前位置:首页 > 医药卫生 > 预防医学

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

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