文档库 最新最全的文档下载
当前位置:文档库 › 第五章 SQL语言习题

第五章 SQL语言习题

第五章   SQL语言习题
第五章   SQL语言习题

第五章SQL语言

一、单项选择题

(一)同步练习

(二)试题

09011.以下叙述中正确的是()

A.为了实现连接运算,SELECT命令中必须指出属性的来源

B.如果缺省WHERE子句,则会产生错误信息

C.在SQL语言中绝大多数连接操作都是自然连接

D.连接操作中不可以用别名指定数据的来源

09012.SQL语言中建立惟一性索引的命令是()

A.CREATE INDEX 索引名ON 基本表名(属性名)

B.CREATE INDEX UNIQUE索引名ON 基本表名(属性名)

C.CREATE UNIQUE INDEX索引名ON 基本表名(属性名)

D.CREATE DISTINCT INDEX索引名ON 基本表名(属性名)

08101.下列叙述正确的是()

A.在ORDER BY子句后只能有一个属性

B.ORDER BY子句所产生的输出只是逻辑排序效果,并没有影响表的实际内容

C.进行有序输出时,如果列中有空值则在升序输出时首先列出空值项,而在降序时最后

列出空值项

D.ORDER BY子句中必须指明是升序或降序,不能缺省

08102.现要查找缺少成绩(G)的学生学号(S#)和课程号(C#),下面SQL语句中WHERE 子句的

条件表达式应是:

SELECT S#,C#

FROM SC

WHERE()

A.G=0

B.G<=0

C.G=NULL

D.G IS NULL

08011.已知SN是一个字符型字段,下列SQL查询语句( )

SELECT SN FROM S

WHERE SN LIKE′AB%′;的执行结果为

A.找出含有3个字符′AB%′的所有SN字段

B.找出仅含3个字符且前两个字符为′AB′的SN字段

C.找出以字符′AB′开头的所有SN字段

D.找出含有字符′AB′的所有SN字段

08012.现要查找缺少成绩(Grade)的学生学号(Snum),相应的SQL语句是( ) A.SELECT Snum B.SELECT Snum

FROM SC FROM SC

WHERE Grade=0 WHERE Grade<=0

C.SELECT Snum D.SELECT Snum

FROM SC FROM SC

WHERE Grade=NULL WHERE Grade IS NULL

07011.下列不属于存储过程优点的是()

A.增加了程序编写工作量

B.提高运行速度

C.降低网络通信量

D.间接实现安全控制

07012.SQL语言的标准库函数COUNT、SUM、AVG、MAX和MIN等,不允许出现在下列哪个子句中()

A.SELECT

B.HAVING

C.GROUP…HA VING

D.WHERE

07013.SQL语言是关系型数据库系统典型的数据库语言,它是()

A.过程化语言

B.结构化查询语言

C.格式化语言

D.导航式语言

07014.将查询关系S的权限授予用户W ANG,并允许该用户将此权限授予其他用户。实现此功能的SQL语句是()

A.GRANT SELECT TO S ON WANG WITH PUBLIC

B.GRANT SELECT ON S TO W ANG WITH PUBLIC

C.GRANT SELECT TO S ON WANG WITH GRANT OPTION

D.GRANT SELECT ON S TO W ANG WITH GRANT OPTION

二、填空题

(一)同步练习

(二)试题

09011.SQL语言中,撤消基本表的语句是___________。

08101.SQL语言的条件表达式中字符串匹配操作符是________。

07101.SQL语言中,向数据库表中插入数据的命令是________。

三、简答题

(一)同步练习

(二)试题

09011.简述视图的特点。

08011.简述SQL数据库表的三种类型及它们的区别。

基本表,试图,导出表。基本表是实际存储在数据库中的表,试图是由若干基本表或其它试图构成的表的定义,而导出表是执行了查询时产生的表。

08012.简述数据库的完整性含义以及DBMS的完整性子系统的功能。

08013.SQL的视图机制有哪些优点?

07101.简述基本表和视图和区别。

四、设计题

(一)同步练习

(二)试题

09011.设有关系S(S#,NAME,AGE,SEX),其属性分别表示:学号,姓名,年龄和性别;关系SC(S#,C#,GRADE),其属性分别表示:学号,课号和成绩。

09011.试用SQL语句完成统计每一年龄选修课程的学生人数。

09012.设有学生表S(S#,NAME,AGE,SEX),其属性分别表示:学号,姓名,年龄和性别;选课表SC(S#,C#,GRADE),其属性分别表示:学号,课号和成绩。试用关系代数表达式表达下面查询:检索学习课号为C2课程的学号和姓名。

09013.设有职工基本表EMP(ENO,ENAME,AGE,SEX,SALARY),其属性分别表示:职工号,姓名,年龄,性别,工资。试用SQL语句写出为每个工资低于1000元的女职工加薪200元。

09014.设有科研项目表PROJ(项目编号,项目名称,金额,教师编号)。试用SQL语句写出下面查询:列出金额最高的项目编号和项目名称。

09015.设有学生关系STU(SNO,SNAME,AGE,SEX),其属性分别表示:学号,姓名,年龄和性别。试用SQL语句检索年龄为空值的学生姓名。

08101.设有三个关系A(Anum,Aname, city),它们的属性分别是:商场号,商场名称,商场所在城市;B(Bnum, Bname, price),它们的属性分别是:商品号,商品名称,价格;AB(Anum, Bnum, qty),它们的属性分别是商场号,商品号,商品销售数量。

用SQL语句创建一个基于A,B,AB三个表的视图(上海商场),其中包括城市为上海的

商场名称及其销售的商品名称。

08102.对上题中的三个基本表,用SQL语句查询所有商品的名称及其销售总额。08103.对上题中的三个基本表,用SQL语句查询共有多少家商场销售“长虹彩电”。08104.设有选课表SC(S#,C#,GRADE),它们的属性分别是:学号,课号,成绩。试用关系代数表达式检索学习课号为C2课程的学生学号和成绩。

08105.设有学生关系S(Sno, Sname, Sage, Sex),它们的属性分别是:学号,姓名,年龄,性别。试用SQL语句检索出年龄大于等于18小于等于20的学生姓名和性别。

已知有如下三个关系:学生(学号,姓名,系别号),项目(项目号,项目名称,报酬)

参加(学号,项目号,工时),其中,报酬是指参加该项目每个工时所得报酬。

依据此关系回答下面1~5题。

08011.试用关系代数表达式写出下列查询:列出“王明”同学所参加项目的名称。08012.试用SQL语句写出下列查询:列出报酬最高的项目编号。

08013.试用SQL语句写出下列查询:列出每个系所有学生参加项目所获得的总报酬。08014.试用SQL语句查询报酬大于800元(包括800元)的项目名称。

08015.试用SQL命令创建一个学生_项目视图,该视图包含的属性名称为:学号,姓名和项目名称。

07101.设教学数据库中有三个关系:

学生关系S(S#,SNAME,AGE,SEX,DEPT),其属性分别表示学号、姓名、年龄、性别、所在系。

课程关系C(C#,CNAME,TEACHER),其属性分别表示课程号、课程名、任课教师名。选课关系SC(S#,C#,GRADE},其中GRADE表示成绩。

请用关系代数表达式表达下面的查询。

检索选修课程号为“C2”的学生的学号和姓名。

07102.在07101题的基本表中,试用SQL语句完成下面操作:

查询与张明同一个系的学生信息。

07103.在07101题的基本表中,试用SQL语句完成下面操作:

删除学号为“95002”的学生选修的课程号为“C2”的记录。

07104.在07101题的基本表中,试用SQL语句完成下面的操作:

建立数学系学生的视图C_STUDENT,并要求进行修改和插入数据时,仍需保证该视图只有数学系的学生。视图的属性名为:S#,SNAME,AGE,DEPT。

07105.在07101题的基本表中,试用SQL语句查询每个学生已选修课程的门数及平均成绩。

第三章 SQL语言练习题和答案

第三章SQL语言 一、选择题 1. SQL语言是(B )的语言,容易学习。 A.过程化 B. 非过程化 C.格式化 D. 导航式 2. SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(A)。 A. SELECT B. INSERT C. UPDATE D. DELETE 3. 在视图上不能完成的操作是()。 A. 更新视图 B. 查询 C. 在视图上定义新的表 D. 在视图上定义新的视图 4. SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。 A. 数据查询 B. 数据操纵 C. 数据定义 D. 数据控制 5. SQL语言中,删除一个视图的命令是()。 A.DELETE B.DROP C.CLEAR D.REMOVE 6. 在SQL语言中的视图VIEW是数据库的()。 A. 外模式 B. 模式 C. 内模式 D. 存储模式 7. 下列的SQL语句中,()不是数据定义语句。 A. CREATE TABLE B. DROP VIEW C. CREATE VIEW D. GRANT 8. 若要撤销数据库中已经存在的表S,可用()。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S 9. 若要在基本表S中增加一列CN(课程名),可用()。 A.ADD TABLE S(CN CHAR(8)) B.ADD TABLE S ALTER(CN CHAR(8)) C.ALTER TABLE S ADD(CN CHAR(8)) D.ALTER TABLE S (ADD CN CHAR(8)) 10. 学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。 A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDATE S Age D. ALTER TABLE S ‘Age’ 11. 有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄,C#是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是()。

数据库原理第三章练习

第三章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.解释式SQL 5、SQL语言中,实现数据检索的语句是。 A.SELECT B.INSERT C.UPDATE D.DELETE 6、下列SQL语句中,修改表结构的是。 A.ALTER B.CREATE C.UPDATE D.DELETE 7、SQL中,与“NOT IN”等价的操作符是。 A.=SOME B.<>SOME C.=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,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=”王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=”王华” C.SELECT SN,AGE,SEX

FROM S WHERE AGE>(SELECT AGE WHERE SN=”王华”) D.SELECT SN,AGE,SEX FROM S WHERE AGE>王华.AGE 9、检索选修课程”C2”的学生中成绩最高的学生的学号。正确的SELECT语句是。 A.SELECT S# FROM SC WHERE C#=”C2” AND GRADE>= (SELECT GRADE FROM SC WHERE C#= “C2”) B.SELECT S# FROM SC WHERE C#=”C2” AND GRADE IN (SELECT GRADE FROM SC WHERE C#= “C2”) C.SELECT S# FROM SC WHERE C#=”C2” AND GRADE NOT IN (SELECT GRADE FROM SC WHERE C#= “C2”) D.SELECT S# FROM SC WHERE C#=”C2” AND GRADE>=ALL (SELECT GRADE FROM SC WHERE C#= “C2”) 10、检索学生姓名及其所选修课程的课程号和成绩。正确的SELECT语句是:。 A.SELECT S.SN,SC.C#,SC.GRADE FROM S WHERE S.S#=SC.S# B.SELECT S.SN,SC.C#,SC.GRADE FROM SC WHERE S.S#=SC.S# C.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC WHERE S.S#=SC.S# D.SELECT S.SN,SC.C#,SC.GRADE FROM S,SC 11、要查找选修“COMPUTER“课程的女学生姓名,将涉及到关系。A.S B.SC,C C.S,SC D.S,C,SC

第3章SQL语言习题参考-答案~(新~)

第3章 SQL语言习题参考答案 1.试述SQL语言的特点。(85页) 答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。 2.试述SQL的定义功能。(87页) 答:SQL的数据定义功能包括定义表、定义视图和定义索引 3.用SQL语句建立第二章习题5中的四个表。 S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成: CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4)) 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成: CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT I(2)) 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成: CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成: CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)) 4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询: (1)求供应工程J1零件的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO=’J1’ (2)求供应工程J1零件P1的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程J1零件为红色的供应商号码SNO: SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红' (4)求没有使用天津供应商生产的红色零件的工程号JNO: SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。 (5)求至少用了供应商S1所供应的全部零件的工程号JNO。 由于VFP不允许子查询嵌套太深,将查询分为两步 A、查询S1供应商供应的零件号 SELECT DIST PNO FROM SPJ WHERE SNO='S1'结果是(P1,P2)

第三章 SQL语言习题

第3章 SQL语言习题 一、单项选择题 1.SQL语言是()的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 2.SQL语言是()语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 3.SQL语言具有()的功能。 A.关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操 4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是()。 A.SELECT B.INSERT C.UPDATE D.DELETE 5.SQL语言具有两种使用方式,分别称为交互式SQL和()。 A.提示式SQL B.用户式SQL C.嵌入式SQL D.解释式SQL 6.SQL语言中,实现数据检索的语句是()。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.下列SQL语句中,修改表结构的是()。 A.ALTER B.CREAT C.UPDATE D .DELETE 8.在SQL中,用户可以直接操作的是()。 A 基本表 B 视图 C 存储文件 D 基本表和视图 9.在SQL的查询语句中,对应关系代数中“投影”运算的语句是()。 A WHERE B FROM C SELECT D HAVING 10.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用()。 A WHERE B GROUP BY C ORDER BY D HAVING 11.SQL中,与“NOT IN”等价的操作符是()。 A =ANY B <>ANY C =ALL D <>ALL 12.视图建立后,在数据字典中存放的是()。 A 查询语句 B 组成视图的表的内容 C 视图的定义 D 产生视图的表的定义 第13到第16题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX性别,AGE为年龄,DETP为系别,C#为课程号,CN为课程名,GRADE为成绩。 13.检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是()。 A.SELECT SN, AGE, SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=’王华’) B.SELECT SN, AGE, SEX FROM S WHERE SN=’王华’ C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=’王华’) D.SELECT SN, AGE, SEX FROM S WHERE AGE>王华.AGE 14.检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是()。 A.SELECT S# FROM SC WHEREC#=’C2’ AND GRADE>= (SELECT GRADE FROM SC WHERE C#=’ C2’) B.SELECT S# FROM SC WHERE C#=’C2’ AND GRADE IN(SELECT GRADE FROM SC WHEREC#=’ C2’) C.SELECT S# FROM SC WHERE C#=’C2’ AND GRADE NOT IN(SELECT GRADE FROM SC WHERE C#=’C2’) D.SELECT S# FROM SC WHERE C#=’C2’ AND GRADE>=ALL (SELECT GRADE FROM SC WHERE

数据库原理第三章练习

第三章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.解释式SQL 5、SQL语言中,实现数据检索的语句就是。 A.SELECT B.INSERT C.UPDATE D.DELETE 6、下列SQL语句中,修改表结构的就是。 A.ALTER B.CREATE C.UPDATE D.DELETE 7、SQL中,与“NOT IN”等价的操作符就是。 A.=SOME B.<>SOME C.=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,SEX FROM S WHERE AGE>(SELECT AGE FROM S WHERE SN=”王华”) B.SELECT SN,AGE,SEX FROM S WHERE SN=”王华” C.SELECT SN,AGE,SEX FROM S WHERE AGE>(SELECT AGE WHERE SN=”王华”)

第三章关系数据库标准语言SQL习题

第三章关系数据库标准语言SQL 一、单项选择题 1.SQL语言是。 A.过程化语言B.宿主语言C.汇编语言D.非过程化语言 2.在视图上不能完成的操作是。 A.更新视图B.查询C.在视图上定义基本表D.在视图上定义新的视图 3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中CREATE、DROP、ALTER语句实现功能。 A.数据查询B.数据操纵C.数据定义D.数据控制 4.在SQL语言中,删除一个视图的命令是。 A.DELETE B.DROP C.CLEAR D.REMOVE 5.在SQL语言中,视图对应于数据库的______。 A.外模式B.模式C.内模式D.存储模式 6.在下列SQL语句中,______不是数据定义语句。 A.CREATE TABLE B.DROP VIEW C.CREATE VIEW D.GRANT 7.若要除去数据库中已经存在的表S,可用。 A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S 8.若要在基本表S中增加一列CN,可用。 A.ADD TABLE S(CN CHAR(8)) B.ADD TABLE S ALTER(CN CHAR(8)) C.ALTER TABLE S ADD (CN CHAR(8)) D.ALTER TABLE S (ADD CN CHAR(8)) 9.若要删除关系模式S(Sno, Sname, Ssex, Sage)的Sage属性,可用。 A.DELETE Sage FROM S B.ALTER TABLE S DROP Sage C.UPDATE S Sage D.ALTER TABLE S ‘Sage’ 10.设有学生关系S(Sno, Sname, Sage),课程关系C(Cno, Cname),选修关系SC(Sno, Cno, Grade),其中Sno是学号,Sname是学生姓名,Sage是学生年龄,Cno是课程号,Cname是课程名,Grade是成绩。要查询选修了“ACCESS”课程的年龄不小于20的全体学生姓名,可用SELECT SNAME FROM S, C, SC WHERE 语句实现。 A.S.Sno=SC.Sno and https://www.wendangku.net/doc/bd4680684.html,o=https://www.wendangku.net/doc/bd4680684.html,o and Sage >=20 and Cname = ‘ACCESS‘ B.S.Sno=SC.Sno and https://www.wendangku.net/doc/bd4680684.html,o=https://www.wendangku.net/doc/bd4680684.html,o and Sage in >=20 and Cname in ‘ACCESS‘ C.Sage in >=20 and Cname in ‘ACCESS‘ D.Sage in >=20 and Cname = ‘ACCESS‘ 11.设关系数据库中表S的结构是S(SN, CN, GRADE),其中SN为学生姓名,CN为课程名,二者均为字符型;GRADE为成绩,数值型,取值范围0~100。若要把“张二的化学成绩为80分”插入S中,则可用。 A.ADD INTO S VALUES( ‘张二‘, ‘化学‘, ‘80‘) B.INSERT INTO S VALUES( ‘张二‘, ‘化学‘, ‘80‘) C.ADD INTO S VALUES( ‘张二‘, ‘化学‘, 80) D.INSERT INTO S VALUES( ‘张二‘, ‘化学‘, 80) 12.设关系数据库中表S的结构是S(SN, CN, GRADE),其中SN为学生姓名,CN为课程名,二者均为字符型;GRADE为成绩,数值型,取值范围0~100。若要将张二的化学成绩改为

第3章SQL语言习题参考答案(可编辑修改word版)

第 3 章 SQL 语言习题参考答案 1.试述 SQL 语言的特点。(85 页) 答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。 2.试述 SQL 的定义功能。(87 页) 答:SQL 的数据定义功能包括定义表、定义视图和定义索引 3.用 SQL 语句建立第二章习题 5 中的四个表。 S(SNO,SNAME,STATUS,CITY);P(PNO, PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表 S 由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成: CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4)) 零件表 P 由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成: CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2)) 工程项目表 J 由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成: CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)) 供应情况表 SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成: CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)) 4.针对上题中建立的四个表试用 SQL 语言完成第二章习题 5 中的查询: (1)求供应工程 J1 零件的供应商号码 SNO: SELECT DIST SNO FROM SPJ WHERE JNO=’J1’ (2)求供应工程 J1 零件 P1 的供应商号码 SNO: SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3)求供应工程 J1 零件为红色的供应商号码 SNO: SELECT SNO FROM SPJ,P WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红' (4)求没有使用天津供应商生产的红色零件的工程号 JNO: SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY='天津' AND COLOR='红' AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO) 。 (5)求至少用了供应商 S1 所供应的全部零件的工程号 JNO。 由于 VFP 不允许子查询嵌套太深,将查询分为两步 A、查询 S1 供应商供应的零件号 SELECT DIST PNO FROM SPJ WHERE SNO='S1' 结果是(P1,P2) B、查询哪一个工程既使用 P1 零件又使用 P2 零件。 SELECT JNO FROM SPJ WHERE PNO='P1' AND JNO IN (SELECT JNO FROM SPJ WHERE PNO='P2') 5.针对习题 3 中的四个表试用 SQL 语言完成以下各项操作: (1)找出所有供应商的姓名和所在城市。 SELECT SNAME,CITY FROM S (2)找出所有零件的名称、颜色、重量。 SELECT PNAME,COLOR,WEIGHT FROM P (3)找出使用供应商 S1 所供应零件的工程号码。 SELECT DIST JNO FROM SPJ WHERE SNO='S1' (4)找出工程项目 J2 使用的各种零件的名称及其数量。 SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2' (5)找出上海厂商供应的所有零件号码。 SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY=' 上海' (6)出使用上海产的零件的工程名称。 SELECT JNAME FROM SPJ,S,J WHERE S.SNO=SPJ.SNO AND S.CITY=' 上海' AND J.JNO=SPJ.JNO (7)找出没有使用天津产的零件的工程号码。 注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 适用于 JNO 是唯一或不唯一的情况. 注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于 JNO 是唯一的情况 (8)把全部红色零件的颜色改成蓝色。 UPDATE P SET COLOR=' 蓝' WHERE COLOR=' 红' (9)由 S5 供给 J4 的零件 P6 改为由 S3 供应。 UPDATE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6' (10)从供应商关系中删除供应商号是 S2 的记录,并从供应情况关系中删除相应的记录。

第三章概念答案

第三章概念答案: 1. 试述SQL语言的额特点。 答: (1)综合统一。SQL语言集数据定义语言DDL、数据操纵语言DML、数据控制语言DCL的功能于一体。 (2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。 (3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 (4)以同一种语言结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。 (5)语言简捷、易学易用。 2. 试述SQL的定义功能。 答: SQL的额数据定义功能包括定义表、定义视图和定义索引。 SQL语言使用CREATE TABLE语句建立基本表,ALTER TABLE语句修改基本表定义,DROP TABLE语句删除基本表;使用CREATE INDEX语句建立索引,DROP TABLE语句删除索引;使用CREATE VIEW语句建立视图,DROP VIEW语句删除视图。 6. 什么是基本表?什么是视图?两者的区别和联系是什么? 答: 基本表是本身独立存在的表,在SQL中一个关系就对应一个表。 视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。 视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。 7. 试述视图的优点。 答: (1)视图能够简化用户的操作;

数据库第三章习题

第3章SQL语言习题 一、单项选择题 1.SQL语言是()的语言,易学习。 A.过程化 B.非过程化 C.格式化 D.导航式 2.SQL语言是()语言。 A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 3.SQL语言具有()的功能。 A.关系规范化、数据操纵、数据控制B数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 4.关于SQL语言,下列说法正确的是()。 A 数据控制功能不是SQL语言的功能之一 B SQL采用的是面向记录的操作方式,以记录为单位进行操作 C SQL是非过程化的语言,用户无须指定存取路径 D SQL作为嵌入式语言语法与独立的语言有较大差别 5.对表中数据进行删除的操作是()。 A.DROP B.ALTER C.UPDATE D.DELETE 6.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。其中最重要的,也是使用最频繁的语句是()。 A.SELECT B.INSERT C.UPDATE D.DELETE 7.SQL语言具有两种使用方式,分别称为交互式SQL和()。 A.提示式SQL B.用户式SQL C.嵌入式SQL D.解释式SQL 8.SQL语言中,实现数据检索的语句是()。 A.SELECT B.INSERT C.UPDATE D.DELETE 9.下列SQL语句中,修改表结构的是()。 A.ALTER B.CREATE C.UPDATE D .DELETE 10.在SQL中,用户可以直接操作的是()。 A 基本表 B 视图 C 存储文件 D 基本表和视图 11.在SQL的查询语句中,对应关系代数中“投影”运算的语句是()。 A WHERE B FROM C SELECT D HA VING 12.在SELECT语句中,需对分组情况满足的条件进行判断时,应使用()。 A WHERE B GROUP BY C ORDER BY D HA VING 13.SQL中,与“NOT IN”等价的操作符是()。 A =ANY B <>ANY C =ALL D <>ALL 14.视图建立后,在数据字典中存放的是()。 A 查询语句 B 组成视图的表的内容 C 视图的定义 D 产生视图的表的定义

数据库 第3章 关系数据库标准语言SQL练习及答案题

第3章关系数据库标准语言SQL练习题 1.SQL语言是()的语言,容易学习。 A. 过程化 B.非过程化 C.格式化 D.导航式 2.在视图上不能完成的操作是()。 A.更新视图 B.查询 C.在视图上定义新的表 D.在视图上定义新的视图 3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能()。 A.数据查询 B.数据操纵 C.数据定义 D.数据控制 4. SQL语言中,删除一个视图的命令是()。 A.DELETE B.DROP C.CLEAR D.REMOVE 5.在SQL语言中的视图VIEW是数据库的()。 A.外模式 B.模式 C.内模式 D.存储模式 6.下列的SQL语句中,()不是数据定义语句。 A.CREATE TABLE B.DROP VIEW C.CREATE VIEW D.GRANT 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S 8.若要在基本表S中增加一列CN(课程名),可用()。 A. ADD TABLE S(CN CHAR(8)) B. ADD TABLE S ALTER(CN CHAR(8)) C. ALTER TABLE S ADD(CN CHAR(8)) D. ALTER TABLE S (ADD CN CHAR(8)) 9.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。 A.DELETE Age from S B.ALTER TABLE S DROP Age C.UPDATE S Age D.ALTER TABLE S ‘Age’ 10.有关系S(S#,SNAME,SAGE),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SAGE是学生年龄, C#是课程号,CNAME 是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL 语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是

第三章SQL语言初步总结分析

第三章SQL Server 相关技术以及SQL 语言 一、SQL Server工具 SQL Server提供了一些功能强大、使用方便的数据库工具,主要的工具如下: 1、服务管理器:功能是启动、停止和暂停SQL Server 服务器。 2、企业管理器:是图形化集成管理具,通过它可以方便的调用其他的管理工具,有效的配 置和管理SQL Server服务器。 3、查询分析器:使用方便,界面友好的T-SQL语句的编译工具,是SQL Server客户端的 主要组成部分。菜单、对象浏览、模板等个部分的使用。 4、导入导出数据(DTS):实现其他类型的数据和SQL Servers数据之间实现格式转换。 二、SQL Server数据类型 SQL Server一共有14种,其中13种可用于字段类型说明。下面是几种主要的数据类型: 1、字符数据类型:char、varchar、text。 2、整数类型:bigint、tinyint、smallint、int。 3、数据类型和浮点类型:decimal、numeric、real、float。 4、货币类型和时间、日期类型:smallmoney、money、smalldatatime、datatime。 5、二进制类型:binary、varbinary。 6、图象、文本数据类型:image、text。 三、SQL Server数据库的创建和管理 1、SQL Server数据库介绍: SQL Server数据库以文件形式存储信息。数据库中有三类文件、两种文件组: 主文件后缀.mdf 一个数据库中有且仅有一个主文件;用于存放数据库的 动态信息以及数据。 辅助(次)文件后缀 .ndf 一个数据库中可以有0——n个辅助文件;只存放数据。日志文件后缀 .ldf 一个数据库中可以有1——n个日志文件。存放数据库的 操作轨迹。 数据库中如果文件很多,为了便于管理可以根据需要分组。包含有主文件的那个组称为“主文件组”,其他的文件组只包含有辅助文件,称为“辅助文件组”或“次文件组”,日志文件不分组。 数据库的存储结构:SQL Server数据库中页和范围是最重要的两种存储单位。页是最基本的存储单元,每页有8KB。范围(Extent)是SQL Server分配给表和索引的最基本的单位,每个范围包括连续的8个页(64KB),如果一个范围中只存放一个数据库对象,此范围称为“统一范围”,如果存放多个数据库对象,此范围称为“混合范围”。 2、SQL Server数据库建立: 可以使用企业管理器建立数据库;也可以用SQL 命令建立数据库: 例:CREATE DATABASE student ON ( NAME =student_data, FILENAME = 'e:\program files\microsoft sql server\mssql\data\student_data1.mdf', SIZE = 1MB, MAXSIZE = 20MB, FILEGROWTH = 10%)

数据库第三章习题

第三章 1在SQL中域是用(数据类型)实现的。 2定长字符串类型的优点是(),缺点是()。变长字符串类型的优点是( ),缺点是()。 3在SQL Server中,查询表定义的命令是(select )。 4.SQL是一种( 高度非过程化)语言。 5.SQL采用( 集合)操作方式,即操作对象和操作结果都是集合。 6.关系数据库的三级模式是:外模式、模式、内模式。其中,外模式对应于(视图),模式对应于( 子基本表),内模式对应于( 存储文件)。 7.在SQL中一个关系对应一个( 基本表)。 8.视图是从一个或几个( 基本表)导出的表。数据库中只存放视图的( 定义),而不存放视图对应的数据。 9.一个( 模式)下可创建多个基本表、视图和索引。 10.使用DROP SCHEMA <模式名> RESTRICT 删除模式时,要求( 不能存在级联)。 11.数据定义语言(DDL )有创建表的create table语句、修改表结构的alter table语句和删除表的drop table语句。 12.数据操纵语言(DML )有添加记录的insert语句、修改记录的update语句和删除记录的delete语句。 13.(主码)是唯一能够区分表中每一行记录的一个或多个列。 14.索引由表的一个或多个列构成,一个表允许具有(多个)个索引。 15.在select子句中代表全部列的通配符是(* )。 16.在查询结果集中,select子句中表达式通常显示为“无列名”,为了增加查询语句的可读性,可以对表达式定义(别名)。 17.SQL Server提供逻辑运算符(% )和(_ )实现模糊查询。 18.在order by子句中可以对列按照(asc 升序)和(desc降序)排序。 19.常用的聚合函数有:计算最大值的(MAX ),计算最小值的(MIN ),统计总和的(SUM ),统计记录总数的(COUNT )和计算平均值的(A VG )。 20. SQL Server提供了(group by )关键字,可以按列值对记录进行分组,并且按组统计数据。 21.视图和表都是数据库中的对象,视图的结构虽然与表相同,但视图是(虚)表。 22.每一次使用视图,SQL Server都需要重新执行一次(视图对应的SQL语言),(视图对应的SQL语言)的执行结果构成了视图中的数据。 23.表是反映现实世界中一类事物的数学模型,现实世界中一类事物的属性是表中的(A )。 A.列 B.行 C.记录 D.数值 24.如果表的某一列的取值为不固定长度的字符串,适合采用(C )数据类型描述。 A.char B.number C.varchar D.int 25.下列对空值的描述正确的是( D )。 A.char或varchar类型的空格。 B.int类型的0值。 C. char或varchar类型的空格或int类型的0值。 D.既不是char或varchar类型的空格,也不是int类型的0值,而是表的模一列取值不确定的情况。 26.如果将某一列设置为表的主键,在表中此列的值(C )。 A.可以出现重复值

第3章SQL语言习题参考答案(新)

1. 试述SQL语言的特点。(85页) 答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。 2. 试述SQL的定义功能。(87页) 答:SQL的数据定义功能包括定义表、定义视图和定义索引 3. 用SQL语句建立第二章习题5中的四个表。 S(SNO,SNAM,E STATUS,CITY) ; P(PNO ,PNAM,E COLOR,WEIGHT;) J(JNO ,JNAME,CITY) ; SPJ(SNO ,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME、供应商状 态(STATUS)、供应商所在城市(CITY)组成: CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2) ,City C(4)) 零件表P由零件代码(PNO)、零件名(PNAME、颜色(COLOR、重量(WEIGHT组成: CREATETABLEP(Pno C(2) UNIQUE ,Pname C(6) ,COLOR C(2),WEIGHT I(2)) 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城 市(CITY)组成:

CREATE TABLE J(Jno C(2) UNlQUE ,JNAME C(8) ,CITY C(4))

供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY组成: CREATETABLESPJ(Sno C(2) ,Pno C(2) ,JNO C(2) ,QTY N(2)) 4 .针对上题中建立的四个表试用SQL语言完成第二章习题5中的查 询: (1) 求供应工程J1 零件的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE J N O'=J1' (2) 求供应工程J1零件P1的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1' (3) 求供应工程J1 零件为红色的供应商号码SNO: SELECTSNOFROMSPJ,P WHEREJNO='J1' ANDSPJ.PNO=P.PNOAND COLORS' (4) 求没有使用天津供应商生产的红色零件的工程号JNO: SELECT DIST JNO FROMSPJ WHEREJNONOTIN (SELE JNOFROM SPJ,P,S WHERE S.CITY二'天津'AND COLOR二红'AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO。) (5) 求至少用了供应商S1 所供应的全部零件的工程号JNO。 由于VFP不允许子查询嵌套太深,将查询分为两步 A、查询S1供应商供应的零件号 SELECT DIST PNO FROM SPJ WHERE SNO二'S结果是(P1,P2)

第3章 关系数据库标准语言SQL答案

第3章关系数据库标准语言SQL 1 .试述 sQL 语言的特点。 答: (l)综合统一。 sQL 语言集数据定义语言 DDL 、数据操纵语言 DML 、数据控制语言 DCL 的功能于一体。 (2)高度非过程化。用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成。 (3)面向集合的操作方式。sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 (4)以同一种语法结构提供两种使用方式。 sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。 (5)语言简捷,易学易用。 2 .试述 sQL 的定义功能。 sQL 的数据定义功能包括定义表、定义视图和定义索引。SQL 语言使用 cREATE TABLE 语句建立基本表, ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREATE INDEX 语句建立索引, DROP INDEX 语句删除索引;使用 CREATE VIEW 语句建立视图, DROP VIEW 语句删除视图。 3 .用 sQL 语句建立第二章习题 5 中的 4 个表。 答: 对于 S 表:S ( SNO , SNAME , STATUS , CITY ) ; 建 S 表: CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4)); 对于 P 表: P ( PNO , PNAME , COLOR , WEIGHT ); 建 P 表: CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT INT); 对于 J 表: J ( JNO , JNAME , CITY) ;

相关文档