第6章结构化查询语言-SQL_习题答案(范文)

时间:2019-05-13 10:08:36下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《第6章结构化查询语言-SQL_习题答案(范文)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《第6章结构化查询语言-SQL_习题答案(范文)》。

第一篇:第6章结构化查询语言-SQL_习题答案(范文)

第6章结构化查询语言-SQL

习题参考答案

一、选择题

1.A

2.A

3.B

4.A

5.D

6.C

7.A

8.A

9.C

10.D

二、填空题

1.PRIMARY KEY

2.WHERE,GROUP BY,ORDER BY

3.DISTINCT

4.BETWEEN … AND …,IN

5.UPDATE,ALTER TABLE

三、问答题

1.答:通过SQL语言可实现数据库的全面管理,包括数据查询、数据操纵、数据定义和数据控制4个方面,它是一种通用的关系数据库语言。

2.答:

(1)CREATE TABLE 图书(书号 C(5)PRIMARY KEY,书名 C(10),定价 D(8,2))

(2)INSERT INTO 图书 VALUES(“B1001”,“Access数据库基础与应用”, 32)

(3)SELECT 图书.书名, 图书.定价 FROM 图书 WHERE定价=

(SELECT MAX(定价)FROM 图书, 图书发行 WHERE 图书.书号=图书发行.书号)UNION

SELECT 图书.书名, 图书.定价 FROM 图书 WHERE定价=

(SELECT MIN(定价)FROM 图书, 图书发行 WHERE图书.书号=图书发行.书号)

(4)SELECT 书号, 数量 FROM 图书发行 WHERE 书号 IN

(SELECT 书号 FROM 图书 WHERE 书名 LIKE '*数据库*'))

(5)查询藏有已发行的“Visual FoxPro程序设计基础教程”一书的图书馆馆名。

第二篇:SQL 结构化查询语言速学宝典

第二章

create database db_sqlserver2--创建db_sqlserver2数据库on

(name= db_sqlserver2_data,--文件的逻辑名称

filename='e:mydatadb_sqlserver2_data.mdf',--数据库文件要保存路径及文件名

size=4,--文件的大小

maxsize=10,--文件可增大到的最大大小filegrowth=10%--文件的自动增量)

log on

(name= db_sqlserver2_log,filename='e:mydatadb_sqlserver12_log.ldf',size=1,maxsize=6,filegrowth=1)

create database db_sqlserver3

on

(name=db_sqlserver3_data,--第一个数据文件的逻辑名称filename='e:mydatadb_sqlserver31_data.mdf',size=4,maxsize=10,filegrowth=10%),(name=Mydatabase22_data,--第二个数据文件的逻辑名称filename='e:mydatadb_sqlserver32_data.mdf',size=3,maxsize=10,filegrowth=1)

log on

(name=Mydatabase21_log,--第一个日志文件的逻辑名称filename='e:mydatadb_sqlserver31_log.ldf',size=1,maxsize=6,filegrowth=1),(name=Mydatabase22_log,--第二个日志文件的逻辑名称filename='e:mydatadb_sqlserver32_log.ldf',size=1,maxsize=6,filegrowth=10%)

第三篇:SQL语言习题及答案

数据库原理之关系数据库SQL语言课后习题及答案

http://www.xiexiebang.comAME,TEACHER)

试用SQL的查询语句表达下列查询:

(1)检索LIU老师所授课程的课程号和课程名。

SELECT C#,CNAME

FROM C

WHERE TEACHER=„LIU‟

(2)检索年龄大于23岁的男学生的学号和姓名。

SELECT S#,SNAME

FROM S

WHERE(AGE>23)AND(SEX=„M‟)

(3)检索至少选修LIU老师所授课程中一门课程的女学生姓名。

SELECT SNAME

FROM S

WHERE SEX=„F‟ AND S# IN

(SELECT S#

FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE TEACHER=„LIU‟)

NOTICE:有多种写法,比如联接查询写法:

SELECT SNAME

FROM S,SC,C

WHERE SEX=„F‟ AND SC.S#=S.S#

AND SC.C#=C.C#

AND TEACHER='LIU' 但上一种写法更好一些。

(4)检索WANG同学不学的课程的课程号。

SELECT C#

FROM C

WHERE C# NOT IN

(SELECT C#

FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG'))

(5)检索至少选修两门课程的学生学号。

SELECT DISTINCT X.SNO

FROM SC X,SC Y

WHERE X.SNO=Y.SNO AND X.CNO<>Y.CNO Notice:对表SC进行自连接,X,Y是SC的两个别名。

(6)检索全部学生都选修的课程的课程号与课程名。

SELECT C#,CNAME

FROM C

WHERE NOT EXISTS

(SELECT *

FROM S

WHERE S# NOT IN

(SELECT *

FROM SC

WHERE SC.C#=C.C#))

要从语义上分解:(1)选择课程的课程号与课程名,不存在不选这门课的同学。

其中,“不选这门课的同学”可以表示为:

或者

SELECT *

FROM S

WHERE NOT EXISTS

(SELECT *

FROM SC

WHERE S.S#=C.S#

AND SC.C#=C.C#)

SELECT *

FROM S

WHERE S# NOT IN

(SELECT *

FROM SC

WHERE SC.C#=C.C#)

(7)检索选修课程包含LIU老师所授课的学生学号。

SELECT DISTINCT S#

FROM SC

WHERE C# IN

(SELECT C#

FROM C

WHERE TEACHER='LIU'))

3.3 设有两个基本表R(A,B,C)和S(D,E,F),试用SQL查询语句表达下列关系代数表达式:

(1)πA(R)

(2)σB='17'(R)

(3)R×S

(4))πA,F(σC=D(R×S))

(1)SELECT A FROM R

(2)SELECT * FROM R WHERE B='17'(3)SELECT A,B,C,D,E,F FROM R,S

(4)SELECT A,F FROM R,S WHERE R.C=S.D

3.4 3.4 设有两个基本表R(A,B,C)和S(A,B,C)试用SQL查询语句表达下列关系代数表达式:

(1)R∪S

(2)R∩S

(3)R-S

(4)πA,B(R)πB,C(S)

(1)SELECT A,B,C

FROM R

UNION

SELECT A,B,C

FROM S

(2)SELECT A,B,C

FROM R

INTERSECT

SELECT A,B,C

FROM S

(3)SELECT A,B,C

FROM R

WHERE NOT EXISTS

(SELECT A,B,C

FROM S

WHERE R.A=S.A AND R.B=S.B AND R.C=S.C)

(4)SELECT R.A,R.B,S.C

FROM R,S

WHERE R.B=S.B

3.5 试叙述SQL语言的关系代数特点和元组演算特点。

(P61-62)

3.6 试用SQL查询语句表达下列对教学数据库中三个基本表S、SC、C的查询:

(1)统计有学生选修的课程门数。

SELECT COUNT(DISTINCT C#)FROM SC

(2)求选修C4课程的学生的平均年龄。

SELECT AVG(AGE)

FROM S

WHERE S# IN

(SELECT S#

FROM SC

WHERE C#='C4')或者,SELECT AVG(AGE)

FROM S,SC

WHERE S.S#=SC.S# AND C#='004'

(3)求LIU老师所授课程的每门课程的学生平均成绩。

SELECT CNAME,AVG(GRADE)

FROM SC ,C

WHERE SC.C#=C.C# AND TEACHER='LIU'

GROUP BY C#

(4)统计每门课程的学生选修人数(超过10人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

SELECT DISTINCT C#,COUNT(S#)

FROM SC

GROUP BY C#

HAVING COUNT(S#)>10

ORDER BY 2 DESC, C# ASC

(5)检索学号比WANG同学大,而年龄比他小的学生姓名。

SELECT X.SNAME

FROM S AS X, S AS Y

WHERE Y.SNAME='WANG' AND X.S#>Y.S# AND X.AGE

(6)检索姓名以WANG打头的所有学生的姓名和年龄。

SELECT SNAME,AGE

FROM S

WHERE SNAME LIKE 'WANG%'

(7)在SC中检索成绩为空值的学生学号和课程号。

SELECT S#,C#

FROM SC

WHERE GRADE IS NULL

(8)求年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT SNAME,AGE

FROM S AS X

WHERE X.SEX='男' AND X.AGE>(SELECT AVG(AGE)FROM S AS Y WHERE Y.SEX='女')

(9)求年龄大于所有女同学年龄的男学生姓名和年龄。

SELECT SNAME,AGE

FROM S AS X

WHERE X.SEX='男' AND X.AGE>ALL(SELECT AGE FROM S AS Y WHERE Y.SEX='女')

3.7 试用SQL更新语句表达对教学数据库中三个基本表S、SC、C的各个更新操作:

(1)往基本表S中插入一个学生元组(„S9‟,„WU‟,18)。

INSERT INTO S(S#,SNAME,AGE)VALUES('59','WU',18)

(2)在基本表S中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,并把检索到的值送往另一个已存在的基本表STUDENT(S#,SANME,SEX)。

INSERT INTO STUDENT(S#,SNAME,SEX)

SELECT S#,SNAME,SEX

FROM S WHERE NOT EXISTS

(SELECT * FROM SC WHERE

GRADE<80 AND S.S#=SC.S#)

(3)在基本表SC中删除尚无成绩的选课元组。

DELETE FROM SC

WHERE GRADE IS NULL

(4)把WANG同学的学习选课和成绩全部删去。

DELETE FROM SC

WHERE S# IN

(SELECT S#

FROM S

WHERE SNAME='WANG')

(5)把选修MATHS课不及格的成绩全改为空值。

UPDATE SC

SET GRADE=NULL

WHERE GRADE<60 AND C# IN

(SELECT C#

FROM C

WHERE CNAME='MATHS')(6)把低于总平均成绩的女同学成绩提高5%。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE GRADE<(SELECT AVG(GRADE)FROM SC)AND S# IN(SELECT S# FROM S WHERE SEX='F')

(7)在基本表SC中修改C4课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。

UPDATE SC

SET GRADE=GRADE*1.05

WHERE C#='C4' AND GRADE<=75

UPDATE SC

SET GRADE=GRADE*1.04

WHERE C#='C4' AND GRADE>75

3.8 在第1章例1.4中提到“仓库管理”关系模型有五个关系模式:

零件 PART(P#,PNAME,COLOR,WEIGHT)

项目 PROJECT(J#,JNAME,DATE)

供应商 SUPPLIER(S#,SNAME,SADDR)

供应 P_P(J#,P#,TOTOAL)

采购 P_S(P#,S#,QUANTITY)

(1)试用SQL DDL语句定义上述五个基本表,并说明主键和外键。

CREATE TABLE PART

(P# CHAR(4)NOT NULL,PNAME CHAR(12)NOT NULL,COLOR CHAR(10),WEIGHT REAL,PRIMARY KEY(P#))

CREATE TABLE PROJECT

(J# CHAR(4)NOT NULL,JNAME CHAR(12)NOT NULL,DATE DATE,PRIMARY KEY(J#))

CREATE TABLE SUPLIER

(S# CHAR(4)NOT NULL,SNAME CHAR(12),SADDR VARCHAR(20),PRIMARY KEY(S#))

CREATE TABLE P_P

(J# CHAR(4),P# CHAR(4),TOTAL INTEGER,PRIMARY KEY(J#,P#),FOREIGN KEY(J#)REFERENCE PROJECT(J#),FOREIGN KEY(P#)REFERENCE PART(P#))

CREATE TABLE P_S

(P# CHAR(4),S# CHAR(4),QUANTITY INTEGER,PRIMARY KEY(P#,S#),FOREIGN KEY(P#)REFERENCE PART(P#),FOREIGN KEY(S#)REFERENCE SUPLIER(S#))

(2)试将PROGECT、P_P、PART三个基本表的自然联接定义为一个视图VIEW1,PART、P_S、SUPPLIER 三个基本表的自然联接定义为一个视图VIEW2。

CREATE VIEW VIEW1(J#,JNAME,DATE,P#,PNAME,COLOR,WEIGHT,TOTAL)

AS SELECT PROJECT.J#,JNAME,DATE,PART.P#,PNAME,COLOR,WEIGHT,TOTAL

FROM PROJECT,PART,P_P

WHERE PART.P#=P_P.P# AND P_P.J#=PROJECT.J

#

CREATE VIEW VIEW2(P#,PNAME,COLOR,WEIGHT,S#,SNAME,SADDR,QUANTITY)

AS SELECT PART.P#,PNAME,COLOR,WEIGHT,SUPPLIER.S#,SNAME,SADDR,QUANTITY

FROM PART,P_S,SUPPLIER

WHERE PART.P#=P_S.P# AND P_S.S#=SUPPLIER.S#

(3)试在上述两个视图的基础上进行数据查询:

1)检索上海的供应商所供应的零件的编号和名字。

SELECT P#,PNAME FROM VIEW2 WHERE SADDR='SHANGHAI'

2)检索项目J4所用零件的供应商编号和名字。

SELECT S#,SNAME FROM VIEW2 WHERE P# IN(SELECT P# FROM VIEW1 WHERE J#='J4')

3.9 对于教学数据库中基本表SC,已建立下列视图:

CREATE VIEW S_GRADE(S#,C_NUM,AVG_GRADE)

AS SELECT S#,COUNT(C#),AVG(GRADE)

FROM SC

GROUP BY S#

试判断下列查询和更新是否允许执行。若允许,写出转换到基本表SC上的相应操作。

(1)SELECT *

FROM S_GRADE

允许

SELECT S#,COUNT(C#),AVG(GRADE)FROM SC GROUP BY S#

(2)SELECT S#,C_NUM

FROM S_GRADE

WHERE AVG_GRADE>80

允许

SELECT S#,COUNT(C#)FROM SC WHERE AVG(GRADE)>80

(3)SELECT S#,AVG_GRADE

FROM S_GRADE

WHERE C_NUM>(SELECT C_NUM

FROM S_GRADE

WHERE S#=„S4‟)

允许

SELECT S#,AVG(GRADE)

FROM SC AS X

WHERE COUNT(X.C#)>(SELECT COUNT(Y.C#)FROM SC AS Y WHERE Y.S#='S4')

GROUP BY S#

(4)UPDATE S_GRADE

SET C_NUM=C_NUM+1

WHERE S#=„S4‟

不允许

(5)DELETE FROM S_GRADE

WHERE C_NUM>

4不允许

3.10 预处理方式对于嵌入式SQL的实现有什么重要意义? 预处理方式是先用预处理程序对源程序进行扫描,识别出SQL语句,并处理成宿主语言的函数调用形式; 然后再用宿主语言的编译程序把源程序编译成目标程序。这样,不用扩充宿主语言的编译程序,就能处理SQL语句。

3.11 在宿主语言的程序中使用SQL语句有哪些规定?

在宿主语言的程序中使用SLQ语句有以下规定:

(1)在程序中要区分SQL语句与宿主语言语句

(2)允许嵌入的SQL语句引用宿主语言的程序变量(称为共享变量),但有两条规定:

1)引用时,这些变量前必须加“:”作为前缀标识,以示与数据库中变量有区别。

2)这些变量由宿主语言的程序定义,并用SQL的DECLARE语句说明。

(3)SQL的集合处理方式与宿主语言单记录处理方式之间要协调。需要采用游标机制,把集合操作转换成单记录处理方式。

3.12 SQL的集合处理方式与宿主语言单记录处理方式之间如何协调?

由于SQL语句处理的是记录集合,而宿主语言语句一次只能处理一个记录,因此需要用游标(cousor)机制,把集合操作转换成单记录处理方式。

2.13 嵌入式SQL语句何时不必涉及到游标?何时必须涉及到游标?

(1)INSERT、DELETE、UPDATE语句,查询结果肯定是单元组时的SELECT语句,都可直接嵌入在主程序中使用,不必涉及到游标。

(2)当SELECT语句查询结果是多个元组时,此时宿主语言程序无法使用,一定要用游标机制把多个元组一次一个地传送给宿主语言处理。

第四篇:SQL结构化查询语句

SQL结构化查询语句

一、数据定义功能

创建表:Createtable 表名(字段名……)修改表:Altertable表名

删除表:Droptable表名

二、数据操纵功能

数据插入:Insertinto 表名values(…,…,)数据更新:Update表名Set表达式 Where 条件 数据删除:DeleteFrom 表名Where 条件

三、查询功能

SELECT*FROM表名

WHERE条件

ORDERBY 字段排序

GROUPBY 字段分组

函数:SUM()AVG()COUNT()MAX()MIN()去向:

INTOTABLE表

INTOCURSOR临时表

INTOARRAY数组

第五篇:大自然的语言习题及答案

阅读下面的语段,完成后面的练习,大自然的语言习题精选。

立春过后,大地渐渐地沉睡中_______(A.清醒B.苏醒;C.醒悟;D.复苏)过来。冰雪融化,草木萌发,各种花_________(A.次第;B.连续;C.陆续;D.全部)开放。再过两个月,燕子翩然归来。不久,布谷鸟也来了。于是转入炎热的夏季,这是植物孕育果实的时期。到了秋天,果实成熟,植物的叶子渐渐变黄,在秋风中_________(A.纷纷;B.刷刷;C.簌簌)的落下来。北雁南飞,活跃在田间草际的昆虫也都销声匿迹。到处呈现一片衰草连天的景象,准备迎接风雪载途寒冬。在地球上温带和亚热带区域里,年年如是,周而复始。

几千年来,劳动人民注意了草木荣枯、候鸟去来等自然现象同气候的关系,据以安排农事,语文试题《大自然的语言习题精选》。杏花开了,就好像大自然在传语要赶快耕地;桃花开了,又好像在暗示要赶快种谷子。布谷鸟开始唱歌,劳动人民懂得它在唱什么:“阿公阿婆,割去播禾。”这#者来,花香鸟语,草长莺飞,都是大自然的语言。

1.在语段中横线上填上恰当的词语。

2.解释词语:销声匿迹翩然

3.这两段文字的说明对象是()

A.物候现象;B.气候变化;C.物候规律;D.四季景色变化。

4.这两段文字的说明顺序是:____________________________,主要的说明方法是:_____________________________

5.去掉“温带和亚热带区域里”这几个词语行不行,为什么?

参考答案:

1.B A C

2.销声匿迹:这里指消失了鸣叫声,藏起了形迹。翩然:动作轻快的样子。

3.A

4.时间顺序;举例子

5.不行。以上情况只限于“地球上温带和亚热带区域里”。

下载第6章结构化查询语言-SQL_习题答案(范文)word格式文档
下载第6章结构化查询语言-SQL_习题答案(范文).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    SQL查询语言

    《SQL查询语言》教学设计 一、 教学目标分析 认知目标 学习SQL查询语言的使用方法。 掌握SQL语言当中的SELECT语句 能力目标 培养学生应用查询语句查询数据的应用能力 情感......

    2018年四川省选调生面试结构化习题及答案(2.9)

    2018年四川省选调生面试结构化习题及答案(2.9) 四川选调生考试面试采取结构化形式,选调生面试内容涉及综合分析、言语表达、组织管理、应变能力、自我情绪控制、人际关系、求职......

    C语言课后习题答案5篇

    C语言课后习题答案-第四版- 第一章 5、请参照本章例题,编写一个C语言程序,输出以下信息: **************************** V e r y G o o d ! **************************** #inc......

    c语言备考习题及部分答案

    一、 判断题 1. 格式字符%md中的m不能为负。( × ) 2. 实际上,可以用顺序、分支、循环三种结构构造任何算法。 3. printf("%d",sizeof(1234));其结果是4。( ×) 4. 在C语言......

    SQL-数据查询语言

    宁波工程学院 数据库理论与技术课程实验报告 学院: 电子与信息工程学院 专业:计算机科学与技术 年级: 计科10-2 实验时间: 2012年4月15日 组长: 何亚玲 学号: 10401010201 指导教......

    C语言程序设计教程课后习题答案

    C语言程序设计教程课后习题答案第一章 C语言程序设计概述 -习题答案 1 算法的描述有哪些基本方法?答 1、自然语言 2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。......

    C语言程序设计教程第九章习题答案

    1、li 45 300.0 chang 30 200.0 chang 2、 #include struct students { char sid[100]; char name[100]; float score; }student; void main { int i; float j; pri......

    c语言备考习题及部分答案(精选五篇)

    一、判断题 1. 在函数定义中,形参变量有时也可以是全局变量。( × 2. 在C程序中,函数调用可以作为函数的形参。× 3. 在C程序中,函数调用可以作为函数的实参。√ 4. 在C程序......