数据库原理第三章练习.doc

上传人:xin****828 文档编号:6615876 上传时间:2020-02-29 格式:DOC 页数:15 大小:103KB
返回 下载 相关 举报
数据库原理第三章练习.doc_第1页
第1页 / 共15页
数据库原理第三章练习.doc_第2页
第2页 / 共15页
数据库原理第三章练习.doc_第3页
第3页 / 共15页
点击查看更多>>
资源描述
第三章 SQL语言一、选择题:1、SQL语言是 的语言,易学习。 A过程化 B非过程化 C格式化 D导航式2、SQL语言是 语言。A层次数据库 B网络数据库 C关系数据库 D非数据库3、SQL语言具有 的功能。2、 关系规范化,数据操纵,数据控制B数据定义,数据操纵,数据控制C数据定义,关系规范化,数据控制 D数据定义,关系规范化,数据操纵4、SQL语言具有两种使用方式,分别称为交互式SQL和 。A提示式SQL B多用户SQL C嵌入式SQL D解释式SQL5、SQL语言中,实现数据检索的语句是 。ASELECT BINSERT CUPDATE DDELETE6、下列SQL语句中,修改表结构的是 。AALTER BCREATE CUPDATE DDELETE7、SQL中,与“NOT IN”等价的操作符是 。A=SOME BSOME C=ALL DALL8、假设有三个基本表:学生表S、课程表C、学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SQL语句是 。ASELECT SN,AGE,SEXFROM SWHERE AGE(SELECT AGE FROM S WHERE SN=”王华”) BSELECT SN,AGE,SEXFROM SWHERE SN=”王华”CSELECT SN,AGE,SEXFROM SWHERE AGE(SELECT AGE WHERE SN=”王华”) DSELECT SN,AGE,SEXFROM SWHERE AGE王华.AGE9、检索选修课程”C2”的学生中成绩最高的学生的学号。正确的SELECT语句是 。ASELECT S#FROM SCWHERE C#=”C2” AND GRADE=(SELECT GRADE FROM SCWHERE C#=“C2”) BSELECT S#FROM SCWHERE C#=”C2” AND GRADE IN(SELECT GRADE FROM SCWHERE C#=“C2”) CSELECT S#FROM SCWHERE C#=”C2” AND GRADE NOT IN(SELECT GRADE FROM SCWHERE C#=“C2”)DSELECT S#FROM SCWHERE C#=”C2” AND GRADE=ALL(SELECT GRADE FROM SCWHERE C#=“C2”) 10、检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是: 。ASELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S#BSELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.S#CSELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S#DSELECT S.SN,SC.C#,SC.GRADE FROM S,SC11、要查找选修“COMPUTER“课程的女学生姓名,将涉及到关系 。AS BSC,C CS,SC DS,C,SC12、若用如下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(NULL,曾华,男,23) D(1031,NULL,男,23)13、SQL是 的缩写。 A Standard Query Language B Select Query Language C Structured Query Language D 以上都不是14、视图是 。 A 基本表B 外视图 C 概念视图D 虚拟表15、SQL语言的操作对象 。 A 只能是一个集合B 可以是一个或多个集合 C 不能是集合D 可以是集合或非集合16、索引的作用之一是 。 A 节省存储空间B 便于管理 C 加快查询速度D 建立各数据表之间的关系17、以下有关索引的叙述中正确的是 。 A 索引越多,更新速度越快 B 索引需要用户维护 C 并置索引中列的个数不受限制 D 索引可以用来提供多种存取路径18、以下有关视图查询的叙述中正确的是 。 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) 实现RT的SQL语句是 。 实现的SQL语句是 。 实现的SQL语句是 。 实现的SQL语句是 。 实现R*S的SQL语句是 。 实现的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、A9、D 10、C 11、D 12、B 13、 C14、 D15、 B16、 C17、 D 18、 C19、 A20、 A21、 C22、 B23、 D24、 C 25、B 26、 A 27、 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 NULLIS NOT NULL14、加快查询速度保证行的唯一性15、INSERTUPDATEDELETE16、一个或几个基本表定义数据17、任意序列的零个或多个字符任意单个字符18、GRANTREVOKE三、应用题:1、有两个关系:C(CNO,CN,PCNO)SC(SNO,CNO,G)其中,C为课程表,对应的属性分别是课程号、课程名、选修课号;SC为学生选课表,对应的属性分别是学号、课号和成绩。用SQL语言写出:(1)对关系SC中课号等于C1的选择运算(2)对关系C的课号、课程名的投影运算(3)两个关系的自然连接运算(1)SELECT *FROM SCWHERE CNO=C1(2)SELECT CNO,CNFROM C(3)SELECT C.CNO,C.CN,C.PCNO,SC.SNO,SC.GFROM C, SCWHERE C.CNO=SC.CNO2、设有如下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 xWHERE wage( SELECT AVG(wage) FROM people y WHERE x.dptno=y.dptno)(2)SELECT *FROM people WHERE wage( SELECT wage FROM 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#,ANAME FROM A,B,AB WHERE WQTY906、设有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 SWHERE NOT EXISTS ( SELECT * FROM P WHERE NOT EXISTS ( SELECT * FROM SPJ WHERE SPJ.SNO=S.SNO AND SPJ.PNO=P.PNO)(2)SELECT SNAME FROM S,P,SPJWHERE 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 CWHERE TEACHER=王(2)SELECT S#,SNAMEFROM SWHERE AGE22 AND SEX=男(3)SELECT CNAME,TEACHER FROM SC,CWHERE SC.C#=C.C# AND S#=10001(4)SELECT SNAME FROM S,SC,CWHERE S.S#=SC.S# AND SC.C#=C.C# AND SEX=女 AND TEACHER=王(5)SELECT C#FROM CWHERE 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 YWHERE X.S#=Y.S# AND X.C#! =Y.C#(7)SELECT C#,CNAME FROM CWHERE 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 XWHERE NOT EXISTS (SELECT * FROM C WHERE TEACHER=王 AND NOT EXISTS (SELECT * FROM SC Y WHERE Y.S#=X.S# AND Y.C#=C.C#)能刚我解释下下面sql语句的意思啊,看不懂?尤其是not exists设有如图3所示的三个关系.其中各个属性的含义如下:A(商店代号)、ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、B(商品号)、BNAME(商品名称)、PRICE(价格)、QTY(商品数量).找出至少供应了代号为256的商店所供应的全部商品的其它商店的商店名和所在城市.SELECT ANAME,CITY FROM AWHERE NOT EXISTS(SELECT * FROM BWHERE EXISTS(SELECT * FROM AB AB1WHERE A#=256 AND B#=B.B#)AND NOT EXISTS(SELECT * FROM AB AB2WHERE A#!=256 AND A#=A.A# AND B#=B.B#);-问题:找出至少供应了代号为256的商店所供应的全部商品的其它商店的商店名和所在城市。SELECTANAME,CITYFROMAWHERENOTEXISTS-第四步:从表A中查找第一、二、三步骤合并,并且不存在的记录(SELECT*FROMBWHEREEXISTS-第三步:从表B中查找存在第一步和第二步条件合并的疾苦(SELECT*FROMABAB1WHEREA#=256ANDB#=B.B#)-第二步:从表AB中查找A#等于256的记录ANDNOTEXISTS-第二步:并且去除A#不能与256的记录(SELECT*FROMABAB2WHEREA#!=256ANDA#=A.A#ANDB#=B.B#)-第一步:从表AB中查找A#不等于256的记录)
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!