第三章SQL语⾔⼀、选择题:
1、SQL语⾔是的语⾔,易学习。A.过程化B.⾮过程化C.格式化D.导航式2、SQL语⾔是语⾔。A.层次数据库B.⽹络数据库C.关系数据库D.⾮数据库3、SQL语⾔具有的功能。
A.关系规范化,数据操纵,数据控制B.数据定义,数据操纵,数据控制C.数据定义,关系规范化,数据控制D.数据定义,关系规范化,数据操纵
4、SQL语⾔具有两种使⽤⽅式,分别称为交互式SQL和。A.提⽰式SQL B.多⽤户SQLC.嵌⼊式SQL D.解释式SQL
5、SQL语⾔中,实现数据检索的语句是。A.SELECT B.INSERTC.UPDATE D.DELETE
6、下列SQL语句中,修改表结构的是。A.ALTER B.CREATEC.UPDATE D.DELETE
7、SQL中,与“NOT IN”等价的操作符是。A.=SOME B.<>SOMEC.=ALL D.<>ALL
8、假设有三个基本表:学⽣表S、课程表C、学⽣选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)
SC(S#,C#,GRADE)
检索所有⽐“王华”年龄⼤的学⽣姓名、年龄和性别。正确的SQL语句是。A.SELECT SN,AGE,SEXFROM S
WHERE AGE>(SELECT AGE FROM SWHERE SN=”王华”)
B.SELECT SN,AGE,SEX
FROM S
WHERE SN=”王华”
C.SELECT SN,AGE,SEXFROM S
WHERE AGE>(SELECT AGEWHERE SN=”王华”)
D.SELECT SN,AGE,SEXFROM S
WHERE AGE>王华.AGE
9、检索选修课程”C2”的学⽣中成绩最⾼的学⽣的学号。正确的SELECT语句是。A.SELECT S#FROM SC
WHERE C#=”C2”AND GRADE>=(SELECT GRADE FROM SCWHERE C#=“C2”)B.SELECT S#FROM SC
WHERE C#=”C2”AND GRADE IN(SELECT GRADE FROM SCWHERE C#=“C2”)C.SELECT S#FROM SC
WHERE C#=”C2”AND GRADE NOT IN(SELECT GRADE FROM SCWHERE C#=“C2”)D.SELECT S#FROM SC
WHERE C#=”C2”AND GRADE>=ALL(SELECT GRADE FROM SCWHERE C#=“C2”)
10、检索学⽣姓名及其所选修课程的课程号和成绩。正确的SELECT语句是:。A.SELECT S.SN,SC.C#,SC.GRADEFROM S
WHERE S.S#=SC.S#
B.SELECT S.SN,SC.C#,SC.GRADEFROM SC
WHERE S.S#=SC.S#
C.SELECT S.SN,SC.C#,SC.GRADEFROM S,SC
WHERE S.S#=SC.S#
D.SELECT S.SN,SC.C#,SC.GRADEFROM S,SC
11、要查找选修“COMPUTER“课程的⼥学⽣姓名,将涉及到关系。A.S B.SC,C
C.S,SC D.S,C,SC
12、若⽤如下SQL语句创建⼀个表student:
CREATE TABLE student(NO CHAR(4)NOT NULL,NAME CHAR(8)NOT NULL,SEX CHAR(2),AGE INT)
可以插⼊到student表中的是。
A.(’1031’,’曾华’,男,23)B.(’1031’,’曾华’,NULL,NULL)C.((’1031’,NULL,’男’,23)13、SQL是的缩写。A Standard Query LanguageB Select Query LanguageC Structured Query LanguageD以上都不是14、视图是。A基本表B外视图C概念视图D虚拟表15、SQL语⾔的操作对象。
A只能是⼀个集合B可以是⼀个或多个集合C不能是集合D可以是集合或⾮集合16、索引的作⽤之⼀是。A节省存储空间B便于管理
C加快查询速度D建⽴各数据表之间的关系17、以下有关索引的叙述中正确的是。A索引越多,更新速度越快B索引需要⽤户维护
C并置索引中列的个数不受限制D索引可以⽤来提供多种存取路径
18、以下有关视图查询的叙述中正确的是。
NULL,’曾华’,’男’,’23’)D.A⾸先查询出视图中所包含的数据,再对进⾏查询B直接对数据库存储的视图数据进⾏查询C将对视图的查询转换为对相关基本表的查询D不能对基本表和视图进⾏连表操作
19、以下有关UNIQUE约束的叙述中不正确的是。A UNIQUE约束中不允许出现空值B UNIQUE⽤于保证列或列组合的值唯⼀性C可以定义多个UNIQUE约束
D系统为定义了UNIQUE约束的那些列建⽴唯⼀索引20、以下关于空值的叙述中不正确的是。A⽤=NULL查询指定列为空值的记录B包含空值的表达式其计算结果为空值C聚集函数通常忽略空值
D对允许空值的列排序时,包含空值的记录总是排在最前⾯21、部分匹配查询中有关通配符“%”的叙述中正确的是。A“%”代表⼀个字符B“%”代表多个字符
C“%”可以代表零个或多个字符D“%”不能与“_”同使⽤
22、在分组检索中,要去掉不满⾜条件的分组,应当。A 使⽤WHERE ⼦句B 使⽤HAVING ⼦句C 先使⽤WHERE ⼦句,再使⽤HAVING ⼦句D 先使⽤HAVING ⼦句,再使⽤WHERE ⼦句23、以下有关⼦查询的叙述中不正确的是。A ⼦查询可以向其外部查询提供检索条件的条件值B ⼦查询可以嵌套多层C ⼦查询的结果是⼀个集合D ⼦查询总是先于其外部查询24、以下有关ORDER BY ⼦句的叙述中不正确的是。A ORDER BY ⼦句可以对多个列进⾏排序B 在SELECT 语句中,ORDER BY 只能在所有其他⼦句之后,作为最后⼀个⼦句出现C ⼦查询也可以使⽤ORDER BY ⼦句D 在视图中不能使⽤ORDER BY ⼦句25、以下有关WHERE ⼦句的叙述中不正确的是。A WHERE ⼦句中可以包含⼦查询B 连接条件和选择条件之间应当使⽤OR逻辑运算C 不包含WHERE ⼦句的SELECT 语句进⾏的是单纯的投影操作D 如果FROM ⼦句中引⽤了N 个表,则FROM ⼦句中⾄少应当包括N-1个连接条件26、以下有关SELECT ⼦句的叙述中不正确的是。A SELECT ⼦句中只能包含表中的列及其构成的表达式B SELECT ⼦句规定了结果集中的列顺序C SELECT ⼦句中可以使⽤别名D 如果FROM ⼦句中引⽤的两个表中有同名的列,则在SELECT ⼦句中引⽤它们时必须使⽤表名前缀加以限制。27、以下有关聚集的叙述中不正确的是。A 聚集将具有⼀个或多个公共列,并经常⼀起使⽤的相关表物理地聚集存储在⼀起B 聚集中相同的值只存储⼀次C 聚集加快了多个表连接操作速度,但对于单个表则没有什么意义D 必须⾸先删除所有聚集表,才能删除聚集⼆、填空题:1、SQL 是。
2、SQL 语⾔的数据定义功能包括、、和。
3、SELECT 命令中,⼦句⽤于选择满⾜给定条件的元组,使⽤⼦句可按指定列的值分组,同时使⽤⼦句可提取满⾜条件的组。
4、在SELECT 命令中进⾏查询,若希望查询的结果不出现重复元组,应在SELECT 语句中使⽤保留字。5、⼦查询的条件依赖于⽗查询,这类查询称为。
6、视图是⼀个虚表,它是从导出的表。在数据库中,只存放视图的,不存放视图对应的。
7、设有如下关系表R ,S ,T :R (BH ,XM ,XB ,DWH )S (DWH ,DWM )T (BH ,XM ,XB ,DWH )
①实现R ?T 的SQL 语句是。②实现
)('100'R DWH =σ的SQL 语句是。③实现)
(,R XB XM π的SQL 语句是。④实现))(('',R XB XBXM ⼥=σπ的SQL 语句是。
⑤实现R*S 的SQL 语句是。⑥实现))*(('',,S R XB DWM XB XM 男=σπ的SQL 语句是。8、设有如下关系表R :R (NO ,NAME ,SEX ,AGE ,CLASS )主码是NO (学号)。
①插⼊⼀条记录(25,‘李明’,‘男’,21,‘95031’)②插⼊95031班学号为30号、姓名为‘郑和’的学⽣记录③将学号为10的学⽣姓名改为‘王华’④将所有‘95101’班号改为‘95091’⑤删除学号为20的学⽣记录⑥删除姓‘王’的学⽣记录
9、宿主语⾔向SQL 语⾔提供参数是通过,在SQL 语句中应⽤时,必须在宿主变量前加。
10、⽤OPEN 语句打开游标时,游标指针指向查询结果的。11、SQL语⾔具有和两种使⽤⽅式。12、SELECT由、、和四个部分组成。
13、查询包含空值的记录时,使⽤⽐较运算符;查询不包含空值的记录时,使⽤⽐较运算符。14、建⽴索引的两个主要⽬的是和。
15、SQL的数据更新功能主要包括、和三个语句。
16、视图是⼀个虚拟表,它由导出,数据库系统只存储视图的,⽽不存储视图的。17、在部分匹配查询中,通配符“%”代表,“_”代表。
18、在SQL的数据库空值功能中,授予权限使⽤语句,收回权限使⽤语句。三、应⽤题:1、有两个关系:C(CNO,CN,PCNO)SC(SNO,CNO,G)
其中,C为课程表,对应的属性分别是课程号、课程名、选修课号;SC为学⽣选课表,对应的属性分别是学号、课号和成绩。⽤SQL语⾔写出:
(1)对关系SC中课号等于C1的选择运算(2)对关系C的课号、课程名的投影运算(3)两个关系的⾃然连接运算2、设有如下4个关系模式:
书店(书店编号,书店名,地址)图书(书号,书名,定价)
图书馆(馆号,馆名,城市,电话)图书发⾏(馆号,书号,书店号,数量)请回答下列问题:
(1)⽤SQL语句检索已经发⾏的图书中最贵和最便宜的书名和定价(2)写出下列SQL语句所表达的中⽂含义:SELECT馆名FROM图书馆WHERE馆名IN(SELECT馆号FROM图书发⾏WHERE书号IN(SELECT书号FROM图书
WHERE书名=‘数据库系统基础’)3、设有职⼯关系模式如下:
people(pno,pname,sex,job,wage,dptno)
其中,pno为职⼯号,pname为职⼯姓名,sex为性别,job为职业,wage为⼯资,dptno为所在部门号。请写出下列查询使⽤的SQL语句:(1)查询⼯资⽐其所在部门平均⼯资⾼的所有职⼯信息(2)查询⼯资⼤于‘赵明华’⼯资的所有职⼯信息
4、设有三个基本表:A表(A#{商店代码},ANAME{商店名},WQTY{店员⼈数},CITY{所在城市});B表(B#{商品号},BNAME{商品名称},PRICE{价格},QTY{商品数量});AB表(A#,B#,QTY)。试⽤SQL语句写出下列查询:(1)找出店员⼈数不超过100⼈或者在长沙市的所有商店的商店代码和商店名;(2)找出供应书包的商店名;
(3)找出⾄少供应代号为256的商店所供应的全部商品的商店名和所在城市;
5、设有学⽣表S(SNO,SN)和学⽣选修课程表SC(SNO,CNO,CN,G),试⽤SQL语句完成以下操作:(1)建⽴⼀个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序(2)从视图V-SSC上查询平均成绩在90分以上的SN,CN,和G6、设有4个关系模式:
S(SNO,SNAME,STATE,CITY):S为供应商,属性依次为:供应商号、供应商名、所在城市;
P(PNO,PNAME,COLOR,WEI,PRICE):P表⽰零件,属性依次为:零件号、零件名、零件颜⾊、零件重量和单价;J(JNO,JNAME,CITY):J表⽰⼯程,属性依次为:⼯程号、⼯程名、所在城市
SPJ(SNO,PNO,JNO,QTY)SPJ表⽰供货关系,属性依次为:供应商号、零件号、⼯程号和供货数量;
⽤SQL语句实现下⾯的查询要求:(1)查询供应了全部零件的供应商名和其所在城市(2)查询供应红⾊零件的供应商名7、关于教学数据库的关系模式如下:
S(S#,SNAME,AGE,SEX):S表⽰学⽣,各属性依次为:学号、姓名、年龄、性别SC(S#,C#,GRADE):SC表⽰成绩,个属性依次为:学号、课程号、成绩C(C#,CNAME,TEACHER)C表⽰课程,个属性依次为:课程号、课程名、教师试⽤SQL语句完成下列查询:
(1)检索王⽼师所授课程的课程号和课程名(2)检索年龄⼤于22岁的男学⽣的学号和姓名
(3)检索学号为10001学⽣所学课程的课程名与任课教师(4)检索⾄少选修王⽼师所授课程中⼀门课程的⼥学⽣姓名(5)检索张同学不学的课程的课程号(6)检索⾄少选修两门课程的学⽣学号
(7)检索全部学⽣都选修的课程的课程号与课程名(8)检索选修课程包含王⽼师所授课程的学⽣学号第三章答案⼀、选择题:1、B.2、C.3、B.4、C.5、A.6、A.7、D.8、A.
9、D.10、C.11、D.12、B.13、C14、D15、B16、C17、D18、C19、A20、A21、C22、B23、D24、C25、B26、A27、C⼆、填空题:1、结构化查询语⾔
2、定义数据库、定义基本表、定义视图、定义索引3、WHERE、GROUP BY、HAVING4、DISTINCT5、相关⼦查询
6、⼀个或⼏个基本表、定义、数据
7、①SELECT*FROM R UNION SELECE*FROM T②SELECT*FROM R WHERE DWH=’100’③SELECT XM,XB FROM R
④SELECT XM,DWH FROM R WHERE XB=’⼥’
⑤SELECT R.BH,R.XM,R.XB,R.DWH,S.DWM FROM R,S WHERE R.DWH=S.DWH⑥SELECT R.XM,R.XB,S.DWM FROM R,S WHERE R.DWH=S.DWH AND R.XB=’男’8、①INSERT INTO R VALUES(25,‘李明’,‘男’21,‘95031’)
②INSERT INTO R(NO,NAME,CLASS)VALUES(30,‘郑和’,’95031’)③UPDATE R SET NAME=‘王华’WHERE NO=10
④UPDATE R SET CLASS=‘95091‘WHERE CLASS=’95101‘⑤DELETE FROM R WHERE NO=20
⑥DELETE FROM R WHERE NAME LINK‘王%‘9、宿主变量:10、第⼀个记录11、⾃含型宿主型12、数据查询数据更新数据定义数据控制13、IS NULL IS NOT NULL14、加快查询速度保证⾏的唯⼀性15、INSERT UPDATE DELETE16、⼀个或⼏个基本表定义数据
17、任意序列的零个或多个字符任意单个字符18、GRANT REVOKE三、应⽤题:1、有两个关系:C(CNO,CN,PCNO)SC(SNO,CNO,G)
其中,C为课程表,对应的属性分别是课程号、课程名、选修课号;SC为学⽣选课表,对应的属性分别是学号、课号和成绩。⽤SQL语⾔写出:
(1)对关系SC中课号等于C1的选择运算(2)对关系C的课号、课程名的投影运算(3)两个关系的⾃然连接运算(1)SELECT*FROM SC
WHERE CNO=‘C1’(2)SELECT CNO,CNFROM C
(3)SELECT http://www.doczj.com/doc/3c46cfe1ac51f01dc281e53a580216fc700a5309.html
O,http://www.doczj.com/doc/3c46cfe1ac51f01dc281e53a580216fc700a5309.html ,C.PCNO,SC.SNO,SC.GFROM C,SC
WHERE http://www.doczj.com/doc/3c46cfe1ac51f01dc281e53a580216fc700a5309.htmlO=http://www.doczj.com/doc/3c46cfe1ac51f01dc281e53a580216fc700a5309.html O2、设有如下4个关系模式:书店(书店编号,书店名,地址)图书(书号,书名,定价)
图书馆(馆号,馆名,城市,电话)图书发⾏(馆号,书号,书店号,数量)
请回答下列问题:(1)⽤SQL语句检索已经发⾏的图书中最贵和最便宜的书名和定价
(2)写出下列SQL语句所表达的中⽂含义:SELECT馆名FROM图书馆WHERE馆名IN(SELECT馆号FROM图书发⾏WHERE书号IN(SELECT书号FROM图书
WHERE书名=‘数据库系统基础’)(1)ELECT图书.书名,图书.定价FROM图书
WHER定价=(SELECT MAX(定价)FROM图书,图书发⾏
WHERE图书.书号=图书发⾏.书号)SELECT图书.书名,图书.定价FROM图书
WHER定价=(SELECT MIN(定价)FROM图书,图书发⾏
WHERE图书.书号=图书发⾏.书号)
(2)查询拥有已发⾏的‘数据库系统基础’⼀书的图书馆馆名。3、设有职⼯关系模式如下:
people(pno,pname,sex,job,wage,dptno)
其中,pno为职⼯号,pname为职⼯姓名,sex为性别,job为职业,wage为⼯资,dptno为所在部门号。请写出下列查询使⽤的SQL语句:(1)查询⼯资⽐其所在部门平均⼯资⾼的所有职⼯信息(2)查询⼯资⼤于‘赵明华’⼯资的所有职⼯信息(1)SELECT*FROM people x
WHERE wage>(SELECT AVG(wage)FROM people y
WHERE x.dptno=y.dptno)(2)SELECT*FROM people
WHERE wage>(SELECT wageFROM people
WHERE pname=’赵明华’)
4、设有三个基本表:A表(A#{商店代码},ANAME{商店名},WQTY{店员⼈数},CITY{所在城市});B表(B#{商品号},BNAME{商品名称},PRICE{价格},QTY{商品数量});AB表(A#,B#,QTY)。试⽤SQL语句写出下列查询:(1)找出店员⼈数不超过100⼈或者在长沙市的所有商店的商店代码和商店名;(2)找出供应书包的商店名;
(3)找出⾄少供应代号为256的商店所供应的全部商品的商店名和所在城市;(1)SELECT A#,ANAMEFROM A,B,AB
WHERE WQTY<=100OR CITY=‘长沙市’(2)SELECT A.ANAMEFROM A,B,AB
WHERE A.A#=AB.A#AND B.B#=AB.B#AND B.BNAME=‘书包’(3)SELECT A.ANAME,A.CITYFROM A,AB
WHERE A.A#=AB.A#AND AB.B#IN(SELECT AB.B#FROM ABWHERE A#=’256’)
5、设有学⽣表S(SNO,SN)和学⽣选修课程表SC(SNO,CNO,CN,G),试⽤SQL语句完成以下操作:(1)建⽴⼀个视图V-SSC(SNO,SN,CNO,CN,G),并按CNO升序排序(2)从视图V-SSC上查询平均成绩在90分以上的SN,CN,和G(1)CREATE VIEW V-SSC(SNO,SN,CNO,CN,G)
AS SELECT S.SNO,S.SN,http://www.doczj.com/doc/3c46cfe1ac51f01dc281e53a580216fc700a5309.htmlO,http://www.doczj.com/doc/3c46cfe1ac51f01dc281e53a580216fc700a5309.html ,SC.GFROM S,SC
WHERE S.SNO=SC.SNOORDER BY CNO
(2)SELECT SN,CN,GFROM V-SSCGROUP BY SNOHAVING AVG(G)>906、设有4个关系模式:
S(SNO,SNAME,STATE,CITY):S为供应商,属性依次为:供应商号、供应商名、所在城市;
P(PNO,PNAME,COLOR,WEI,PRICE):P表⽰零件,属性依次为:零件号、零件名、零件颜⾊、零件重量和单价;J(JNO,JNAME,CITY):J表⽰⼯程,属性依次为:⼯程号、⼯程名、所在城市
SPJ(SNO,PNO,JNO,QTY)SPJ表⽰供货关系,属性依次为:供应商号、零件号、⼯程号和供货数量;
⽤SQL语句实现下⾯的查询要求:(1)查询供应了全部零件的供应商名和其所在城市(2)查询供应红⾊零件的供应商名
(1)SELECT SNAME,CITYFROM S
WHERE NOT EXISTS(SELECT*FROM P
WHERE NOT EXISTS(SELECT*FROM SPJ
WHERE SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO)(2)SELECT SNAMEFROM S,P,SPJ
WHERE S.SNO=SPJ.SNO AND SPJ.PNO=P.PNO AND P.COLOR=’红⾊’7、关于教学数据库的关系模式如下:
S(S#,SNAME,AGE,SEX):S表⽰学⽣,各属性依次为:学号、姓名、年龄、性别
SC(S#,C#,GRADE):SC表⽰成绩,个属性依次为:学号、课程号、成绩C(C#,CNAME,TEACHER)C表⽰课程,个属性依次为:课程号、课程名、教师试⽤SQL语句完成下列查询:
(1)检索王⽼师所授课程的课程号和课程名(2)检索年龄⼤于22岁的男学⽣的学号和姓名
(3)检索学号为10001学⽣所学课程的课程名与任课教师(4)检索⾄少选修王⽼师所授课程中⼀门课程的⼥学⽣姓名(5)检索张同学不学的课程的课程号(6)检索⾄少选修两门课程的学⽣学号
(7)检索全部学⽣都选修的课程的课程号与课程名(8)检索选修课程包含王⽼师所授课程的学⽣学号(1)SELECT C#,CNAMEFROM C
WHERE TEACHER=’王’(2)SELECT S#,SNAMEFROM S
WHERE AGE>22AND SEX=’男’(3)SELECT CNAME,TEACHERFROM SC,C
WHERE SC.C#=C.C#AND S#=’10001’(4)SELECT SNAMEFROM S,SC,C
WHERE S.S#=SC.S#AND SC.C#=C.C#AND SEX=’⼥’AND TEACHER=’王’(5)SELECT C#FROM C
WHERE NOT EXISTS(SELECT*FROM S,SC
WHERE S.S#=SC.S#AND SC.C#=C.C#AND SNAME=’张’))(6)SELECT DISTINCT X..S#FROM SC X,SC Y
WHERE X.S#=Y.S#AND X.C#!=Y.C#(7)SELECT C#,CNAMEFROM C
WHERE NOT EXISTS(SELECT*FROM S
WHERE NOT EXISTS(SELECT*FROM SC
WHERE S#=S.S#AND C#=C.C#))(8)SELECT DISTINCT S#FROM SC X
WHERE NOT EXISTS(SELECT*FROM C
WHERE TEACHER=’王’AND NOT EXISTS(SELECT*FROM SC Y
WHERE Y.S#=X.S#AND Y.C#=C.C#))
因篇幅问题不能全部显示,请点此查看更多更全内容