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

第三章关系数据库标准语言SQL语言一、选择题1. 在SQL语言中授权的操作是通过________________语句实现的。
C A.CREATEB.REVOKEC.GRANTD.INSERT2. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系____。
DA.S B.SC,C C.S,SC D.S,C,SC3. 在 MS SQL Server中建立了表 Student(no,name,sex,birthday),no为表的主码,其他属性的默认值为 null。
表中信息如图所示:能够正确执行的插入操作是________。
A No Name Sex Birthday 101 张丽丽女 1967/05/07 102 李芳女 1970/04/14103 王朋男 1982/10/27 A.INSERT INTO student (no,sex) VALUES(102,′男′) B.INSERT INTO student (name,sex) VALUES(′王中′,′男′)D.INSERT INTO student VALUES(106,′王中′,′男′,′1984/03/08′) C.INSERT INTO stude nt VALUES(102,′男′,′王中′,′1984/03/08′) 4. SQL语言中,删除一个表的命令是________。
B A. DELETE B. DROP C. CLEAR D. REMORE 5. 为数据表创建索引的目的是________ AA.提高查询的检索性能B.创建唯一索引C.创建主键D.归类6. 在SQL语言中,条件“RETWEEN 20 AND 30”表示年龄在20到30之间,且________A. 包括20岁和30岁B. 不包括20岁和30岁C. 包括20岁不包括30岁D. 不包括20岁包括30岁7. 为了使索引键的值在基本表中唯一,在建立索引语句中应使用保留字________ AA. UNIQUEB. COUNTC. DISDINCTD. UNION 8. 下面关于SQL语言的说法中,哪一种说法是错误的? ________ AA. 一个SQL数据库就是一个基本表B. SQL语言支持数据库的三级模式结构C. 一个基本表可以跨多个存储文件存放,一个存储文件可以存放一个或多个基本表D. SQL的一个表可以是一个基本表,也可以是一个视图二、简答题1. 什么是基本表?什么是视图?两者的区别和联系是什么?【解答】基本表是本身独立存在的表,在SQL中一个关系就对应一个表。
SQL第三章课后习题答案

--1):创建数据库并进行一些操作:create database studentonprimary (name=sudent_datafilename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\student.mdf',size=20,maxsize=50,filegrowth=25%)log on(name=student_log,filename='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\student_log.LDF',size=3,maxsize=10,filegrowth=1)--2):将数据库student的初始分配空间大小扩充到40Muse studentgoalter database studentmodify file(name=student,size=40)--3):将数据库student的空间压缩到最小容量use studentgodbcc shrinkdatabase('student',2)--4):将student数据库重新设置为只读状态EXEC sp_dboption 'student','read only',false--5):将student数据库改名为scholasticexec sp_renamedb 'student','scholastic'--6):删除scholastic数据库drop database scholastic--7):采用系统存储过程分离和附加数据库create database studentexec sp_detach_db @dbname='student' --从服务器分离student数据库exec sp_attach_db @dbname=N'student'@filename1=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\student_Data.mdf'@filename2=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\student_log.LDF'--本章习题:--1:--(1)、关系数据库以二维表的形式存储数据--(2)、系统数据库和用户数据库--(3)、master,model,mdb,tempdb--master数据库记录了SQL server 2005的所有系统级信息--madel数据库为用户创建新的数据库提供模板--msdb数据库是SQL Server 2005代理服务使用的数据库--tempdb数据库保存所有的临时表和临时存储过程--(4)、使用对象资源管理器创建跟使用T-SQL语句创建用户数据库--(5)、--举例如下:--create database student 创建一个名为student的数据库--on 指定存储数据库数据部分的磁盘文件--primary (NAME=student, 主要的,命名--FILENAME='D:\student.mdf', 存储位置--size=3, 初始大小--maxsize=10, 最大容量--filegrowth=1) 增长方式--LOG on 指定建立数据库的日志文件--(name=student, 命名--filename='D:\student.ldf', 地址--size=1, 初始大小--maxsize=10, 最大容量--filegrowth=1)增长方式--(6)、--在数据库中创建一个数据表,以及对数据表中的某一数据进行修改等操作都是一个事务--事务日志的作用,根据日志文件信息,可以重新执行某些事务,完成某些未完成的事务,将数据库回滚--到之前的缪戈时间状态、复制事务或服务器等。
【精选】数据库第三章课后习题

• 14、 • (1)GRANT SELECT ON 职工,部门TO 王明 • (2) GRANT INSERT,DELETE ON 职工,部门TO
李勇
• (3) GRANT SELECT ON 职工WHEN USER() = NAME TO ALL
• (4) GRANT SELECT,UPDATE(工资) ON 职工 TO 刘星
• 7、视图的优点 • 视图能够简化用户的操作 • 视图使用户能以多种角度看待同一数据 • 视图对重构数据库提供了一定程度的逻辑
独立性; • 视图能够对机密数据提供安全保护。
• 8、所有的视图是否都可以更新?
• 不是。视图是不实际存储数据的虚表,因 此对视图的更新,最终要转换为对基本表 的更新。因为有些视图的更新不能惟一有 意义地转换成对相应基本表的更新,所以 ,并不是所有的视图都是可更新的。
SPJ TO 李天明;
• 13、 • (1)INSERT INTO SC(Sno,Cno,Grade)
VALUES("2000012", "1128", NULL); • (2)SELECT Sno,Cno
FROM SC
WHERE Grade IS NULL;
• (3)SELECT cname,grade FROM course,Sc WHERE o=o AND cname="英语"
• (1) SELECT DIST PNO,QTY FROM SPQ
• (2) SELECT DIST * FROM SPQ WHERE SNO="S1‘
• 12、 • (1)GRANT INSERT
ON TABLE S TO 张勇
数据库原理及应用(SQL Server 2008)第三章习题及实验答案

第三章习题及实验答案习题答案一、选择题1、A2、A3、C二、填空题1、程序2、MIN、SUM3、CONTINUE、BREAK三、简答题1、可以使用的运算符可以分为算术运算符、逻辑运算符、赋值运算符、字符串串联运算符、按位运算符、一元运算符及比较运算符等。
2、用户自定义函数可分为:标量函数和表值函数。
可使用CREATE FUNCTION语句创建函数,在调用用户自定义函数时,如果调用的是标量函数,则必须提供架构名。
如果调用的是表值函数,则可以不提供架构名。
用户可以将调用的函数用在赋值语句中,或作为表达式的操作数,或用在SQL命令中。
3、批处理是包含一个或多个Transaction-SQL语句的组,从应用程序一次性的发送到SQL Server执行。
批处理是使用GO语句将多条SQL语句进行分隔,其中每两个GO之间的SQL 语句就是一个批处理单元。
一个批处理中可以包含一条语句,也可以包含多条语句。
4、在SQL Server系统中,可以使用的流程控制语句有BEGIN…..END、IF…ELSE、CASE、WHILE…..CONTINUE….BREAK、GOTO、W AITFOR、RETURN等。
BEGIN…..END….: 在条件语句和循环语句等流程控制语句中,当符合特定条件需要执行两个或多个语句时,就应该使用BEGIN…END语句将这些语句组合在一起。
IF…..ELSE….: IF….ELSE语句是条件判断语句。
CASE:用于多重选择的条件判断语句,结果返回单个值。
在CASE中可根据表达式的值选择相应的结果。
WHILE…..CONTINUE….BREAK: SQL语言中的循环语句,用来重复执行SQL语句或语句块。
GOTO: SQL程序中的无条件跳转语句,可以使程序直接跳到指定的标识符位置处继续执行。
WAITFOR: SQL中起暂停正在执行的语句、语句块或者存储过程的调用,直到某时间、时间间隔到达后才继续执行。
第三章SQL习题PPT课件

22.假设学生关系是S(S#,SNAME,SEX,AGE),课 程关系是C(C#,CNAME,TEACHER),学生选课 关系是SC(S#,C#,GRADE).要查询选 修”COMPUTER”课程的”女”同学的姓名, 将涉及关系____.
AS
B SC,C
C S,SC
_____.
A SELECT COUNT(DISTINCT S#)FROM SC
B SELECT COUNT(S#)FROM SC
C SELECT COUNT()FROM SC
D SELECT COUNT(DISTINCT *)FROM SC
20.在数据库中有如图所示的两个表,若职工表 的主码是职工号,部门表的主码是部门号,SQL操 作____不能执行.
5.在SQL语言中,实现数据检索的语句是_____.
A SELECT
B INSERT
C UPDATE
D DELETE
6.SELECT语句执行结果是_____.
A 数据项
B 元组
C表
D 数据库
7.在SQL语句中,对输出结果排序的语句是_____.
A GROUP BY
B ORDER BY
C WHERE
C SELECT命令是通过WHILE子句指定查询条 件
D SELECT命令是通过IS子句指定查询条件
16.与WHERE AGE BETWEEN 18 AND 23完全 等价的是____.
A WHERE AGE>18 AND AGE<23
B WHERE AGE<18 AND AGE>23
C WHERE AGE>18 AND AGE<=23
第三章SQL语言习题

第三章SQL语⾔习题第三章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.解释式SQL5、SQL语⾔中,实现数据检索的语句是。
A.SELECT B.INSERTC.UPDATE D.DELETE6、下列SQL语句中,修改表结构的是。
A.ALTER B.CREATEC.UPDATE D.DELETE7、SQL中,与“NOT IN”等价的操作符是。
A.=SOME B.<>SOMEC.=ALL D.<>ALL8、假设有三个基本表:学⽣表S、课程表C、学⽣选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)检索所有⽐“王华”年龄⼤的学⽣姓名、年龄和性别。
正确的SQL语句是。
A.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGE FROM SWHERE SN=”王华”)B.SELECT SN,AGE,SEXFROM SWHERE SN=”王华”C.SELECT SN,AGE,SEXFROM SWHERE AGE>(SELECT AGEWHERE SN=”王华”)D.SELECT SN,AGE,SEXFROM SWHERE AGE>王华.AGE9、检索选修课程”C2”的学⽣中成绩最⾼的学⽣的学号。
正确的SELECT语句是。
A.SELECT S#FROM SCWHERE C#=”C2”AND GRADE>=(SELECT GRADE FROM SCWHERE C#=“C2”)B.SELECT S#FROM SCWHERE C#=”C2”AND GRADE IN(SELECT GRADE FROM SCWHERE C#=“C2”)C.SELECT S#FROM SCWHERE C#=”C2”AND GRADE NOT IN(SELECT GRADE FROM SCWHERE C#=“C2”)D.SELECT S#FROM SCWHERE C#=”C2”AND GRADE>=ALL(SELECT GRADE FROM SCWHERE C#=“C2”)10、检索学⽣姓名及其所选修课程的课程号和成绩。
(完整版)第三章SQL练习题参考答案

11、针对以上四个表,用SQL语言完成以下各项操作:①给学生表增加一属性Nation(民族),数据类型为Varchar(20);Alter table studentadd Nation Varchar(20);②删除学生表中新增的属性Nation;Alter table studentdrop column Nation;③向成绩表中插入记录(”2001110”,”3”,80);insert into Gradevalues('2001103','3',80);④修改学号为”2001103”的学生的成绩为70分;update Gradeset Gmark=70where Sno='2001103';⑤删除学号为”2001110”的学生的成绩记录;delete Gradewhere Sno='2001110';⑥为学生表创建一个名为,以班级号的升序排序;create index IX_Class on student(Clno ASC);⑦删除IX_Class索引Drop index IX_Class12、针对以上四个表,用SQL语言完成以下各项查询:①找出所有被学生选修了的课程号;select distinct cnofrom grade;②找出01311班女学生的个人信息;select *from studentwhere clno=01311 and ssex='女';③找出01311班、01312班的学生姓名、性别、出生年份;Select sname,ssex, year(getdata())-sage as ‘出生年份’from studentwhere clno in('01311','01312');④找出所有姓李的学生的个人信息;Select *from studentwhere sname like ’李%’;⑤找出学生李勇所在班级的学生人数;Select count(*)from studentwhere clno in (select clnofrom studentwhere sname= '李勇');⑥找出课程名为操作系统的平均成绩、最高分、最低分;Select avg(gmark),max(gmark),min(gmark)from gradewhere cno =(select cnofrom coursewhere cname='操作系统');⑦找出选修了课程的学生人数;Select count(distinct sno)from grade;⑧找出选修了课程操作系统的学生人数;Select count(sno)from gradewhere cno =(select cnofrom coursewhere cname='操作系统');⑨找出2000级计算机软件班的成绩为空的学生姓名。
数据库第三章习题参考答案范文大全

数据库第三章习题参考答案范文大全第一篇:数据库第三章习题参考答案3-2 对于教务管理数据库的三个基本表S(SNO,SNAME, SEX, AGE,SDEPT) SC(SNO,CNO,GRADE)C(CNO,CNAME,CDEPT,TNAME) 试用SQL的查询语句表达下列查询:⑴ 检索LIU老师所授课程的课程号和课程名。
⑵ 检索年龄大于23岁的男学生的学号和姓名。
⑶ 检索学号为200915146的学生所学课程的课程名和任课教师名。
⑷ 检索至少选修LIU老师所授课程中一门课程的女学生姓名。
⑸ 检索WANG同学不学的课程的课程号。
⑹ 检索至少选修两门课程的学生学号。
⑺ 检索全部学生都选修的课程的课程号与课程名。
⑻ 检索选修课程包含LIU老师所授课程的学生学号。
解:⑴ SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’; ⑵ SELECT S#,SNAME FROM S WHERE AGE>23 AND SEX=’M’; ⑶ SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND S#=’200915146’ ⑷ SELECT SNAME (连接查询方式) FROM S,SC,C WHERE S.S#=SC.S# AND SC.C#=C.C# AND TEACHER=’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’)) 或:SELECT SNAME (存在量词方式)SEX=’F’ AND FROM S WHERE SEX=’F’ AND EXISTS(SELECT* FROM SC WHERE SC.S#=S.S# AND EXISTS(SELECT * FROM C WHERE C.C#=SC.C# AND TEACHER=’LIU’)) ⑸ SELECT C# FROM C WHERE NOT EXISTS(SELECT * FROM S,SC WHERE S.S#=SC.S# AND SC.C#=C.C# AND SNAME=’WANG)); ⑹ SELECT DISTINCT X.S# FROM SC AS X,SC AS Y WHERE X.S#=Y.S# AND X.C#!=Y.C#; ⑺ SELECT C#.CNAME FROM C WHERE NOT EXISTS (SELECT * FROM S WHERE NOT EXISTS (SELECT * FROM SC WHERE S#=S.S# AND C#=C.C#)); ⑻ SELECT DISTINCT S# FROM SC AS X WHERE NOT EXISTIS (SELECT * FROM C WHERE TEACHER=’LIU’ AND NOT EXISTS (SELECT * FROM SC AS Y WHERE Y.S#=X.S# AND Y.C#=C.C#)); 3-3 试用SQL查询语句表达下列对3.2题中教务管理数据库的三个基本表S、SC、C查询:⑴ 统计有学生选修的课程门数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
职工号 职工名 部门号 工资
001 李红 01
580
005 刘军 01
670
025 王芳 03
720
038 张强 02
650
部门号 部门名 主任
01
人事处 高平
02
财务处 蒋华
03
教务处 许红
04
学生处 杜琼
A 从职工表中删除行(‘025’,’王芳’,’03’,720) B 将行(‘005’,’乔兴’,’04’,750)插入到职工表中 C 将职工号为”001”的工资改为700 D 将职工号为”038”的部门号改为’03’ 提示:由于职工表中的职工号为主码,不能向其中插入同主码的记
_____.
A SELECT COUNT(DISTINCT S#)FROM SC
B SELECT COUNT(S#)FROM SC
C SELECT COUNT()FROM SC
D SELECT COUNT(DISTINCT *)FROM SC
20.在数据库中有如图所示的两个表,若职工表 的主码是职工号,部门表的主码是部门号,SQL操 作____不能执行.
A 必须是数值型
B 必须是字符型
C 必须是数值型或字符型 D 不限制数据类型
11.使用CREATE TABLE语句创建的是____.
A 数据库
B表
C 试图
D 索引
12.下列SQL语句中,修改表结构的是____.
A ALTER
B CREATE
C UPDATE
D INSERT
13.在SQL中使用UPDATE语句对表中数据进行 修改时,应使用的语句是____.
D WHERE AGE>=18 AND AGE<=23
17.在查询中统计记录(元组)的个数时,应使用 ____函数.
A SUM
B COUNT(列名)
C COUNT(*)
D AVG
18.在查询中统计某列中值的个数应使用____
函数.
A SUM
B COUNT(列名)
C COUNT(*)
D AVG
19.已知基本表SC(S#,C#,GRADE),其中S#为学 号,C#为课程号,GRADE为成绩.则”统计选修 了课程的学生人数”的SQL—SELECT语句为
能为空,D中NAME属性值不能为空.
22.假设学生关系是S(S#,SNAME,SEX,AGE),课 程关系是C(C#,CNAME,TEACHER),学生选课 关系是SC(S#,C#,GRADE).要查询选 修”COMPUTER”课程的”女”同学的姓名, 将涉及关系____.
AS
B SC,C
C S,SC
D S,SC,C
二.填空
1.SQL语言的数据定义功能包括 ____,____,____,____.
答:定义数据库 定义基本表 定义视图 定义索引 2.SELECT命令中,____子句用于选择满足给定条件
的元组,使用____子句可按指定列的值分组,同时 使用____子句可提取满足条件的组.
答:①WHERE ②GROUP BY ③HAVING
D HAVING
8.在SELECT语句中,需对分组情况满足的条件 进行判断时,应使用____.
A WHERE
B GROUP BY
C ORDER BY
D HAVING
9.在SELECT语句中使用*表示____.
A 选择某个属性
B 选择全部属性
C 选择全部元组
D 选择主码
10.在SELECT语句中,使用MAX(列名)时,该”列 名”应该____.
3.在SELECT命令中进行查询,若希望查询的结 果不出现重复元组,应在SELECT语句中使用 _____保留字.
答:DISTINCT
4.视图是一个虚表,它是从____导出的 表.在数据库中,只存放视图的____, 不存放视图对应的____.
答:①一个或几个基本表(或视图)②定 义③数据
3.SQL语言具有____的功能.
A 关系规范化,数据操纵,数据控制
B 数据定义,数据操纵,数据控制
C 数据定义,关系规范化,数据控制
ቤተ መጻሕፍቲ ባይዱ
D 数据定义,关系规范化,数据操纵
提示:SQL语言自身不具备关系规范化功能.
4.在SQL中,用户可以直接操作的是____.
A 基本表
B 视图
C 基本表和视图 D 基本表和视图
A WHERE
B FROM
C VALUES
D SET
14.视图建立后,在数据库中存放的是____.
A 查询语句
B 组成视图的表的内容
C 视图的定义
D 产生视图的表的定义
15.以下叙述中正确的是_____.
A SELECT命令是通过FOR子句指定查询条件
B SELECT命令是通过WHERE子句指定查询条 件
第三章 习 题
一.单项选择
1.SQL语言是____的语言,易学习.
A 过程化
B 非过程化
C 格式化
D 导航式
提示:SQL是一种介于关系代数与关系演算之间 的结构化查询语言,它是高度非过程化的.
2.SQL语言是____语言.
A 层次数据库 B 网络数据库
C 关系数据库 D 非数据库
提示:SQL是关系数据库标准语言.
C SELECT命令是通过WHILE子句指定查询条 件
D SELECT命令是通过IS子句指定查询条件
16.与WHERE AGE BETWEEN 18 AND 23完全 等价的是____.
A WHERE AGE>18 AND AGE<23
B WHERE AGE<18 AND AGE>23
C WHERE AGE>18 AND AGE<=23
录.
21.若用如下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) 提示:A中性别SEX属性值格式不正确,C中NO属性值不
5.在SQL语言中,实现数据检索的语句是_____.
A SELECT
B INSERT
C UPDATE
D DELETE
6.SELECT语句执行结果是_____.
A 数据项
B 元组
C表
D 数据库
7.在SQL语句中,对输出结果排序的语句是_____.
A GROUP BY
B ORDER BY
C WHERE