当前位置:首页 > 第三章 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
1
C#=’C2’)
15.检索学生姓名及其所选修课程的课程号和成绩。正确的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.GRADE C.SELECT S.SN, SC.C# , SC.GRADE FROM SC, S WHERE S.S#=SC.S# D.SELECT S.SN, SC.C#, SC.GRADE FROM S, SC
16.检索选修四门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。正确的SELECT的语句是( )。
A.SELECT S#, SUM (GRDAE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC
HAVING COUNT (*)>=4
B.SELECT S#, SUM (GRDAE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT (*)>=4
ORDER BY 2 DESC
C. SELECT S#, SUM (GRDAE) FROM SC WHERE GRADE>=60 HAVING COUNT (*)>=4 GROUP BY S# ORDER BY 2 DESC
D. SELECT S#, SUM (GRDAE) FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S#
HAVING COUNT (*)>=4
17.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系( )。
A.S B.SC ,C C.S, SC D .S,C,SC 18.下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作( )不能执行。
职工表 部门表 职工号 001 005 025 038 职工名 李红 刘军 王芳 张强 部门号 01 01 03 02 工资 580 670 720 650 部门号 01 02 03 04 部门名 人事处 财务处 教务处 学生处 主任 高平 蒋华 许红 杜琼 A. 从职工表中删除行(‘025’,‘王芳‘03’,720) B. 将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中 C. 将职工号为‘001’的工资改为700
D. 将职工号为‘038’的部门号改为‘03’
19.若用如下的SQL语句创建一个student表:CREAT TABLE student(NO CHAR(4) NOT NULL, NAME CHAR(10) NOT NULL, SEX CHAR(2), AGE INT),可以插到student表中的是( )。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL) C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL ,‘男’,23) 二、综合题
1.已知学生表S和学生选课表SC其关系模式如下: S(SNO,SN,SD, PROV);SC(SNO,CN,GR),其中SNO为学号,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作: (1) 查询“信息系”的学生来自哪些省区。
(2) 按分数降序排序,输出“英语系”学生选修了“计算机”课程的学生的姓名和分数。 2.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)和学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各操作: (1)创建一个视图V-SSC(SNO,SN,CNO,CN,G)。
(2)从视图V-SSC上查询平均成绩在90分以上的SNO和平均分。 3.假设有如下4个样本表: student (学生信息表)
2
NO 108 105 107 101 109 103 NAME 曾华 匡明 王丽 李军 王芳 陆军 SEX 男 男 女 男 女 南 BIRTHDAY 09/01/77 10/02/75 01/23/76 02/20/76/ 02/10/75 06/03/74 CLASS 95033 95031 95033 95033 95031 95031
teacher (教师信息表) NO 804 856 825 831 CNO 3-105 3-245 6-166 9-888 NAME 李成 张旭 王萍 刘冰 CNAME 计算机导论 操作系统 数字电路 高等数学 SEX 男 男 女 女 TNO 825 804 856 100 BIRTHDAY 12/02/58 03/12/69 05/05/72 08/14/77 NO 103 105 PROF 副教授 讲师 助教 助教 CNO 3-245 3-245 DEPART 计算机系 电子工程系 计算机系 电子工程系 DEGREE 86 75 course (课程表) score (成绩表) (1)列出至少有2名男生的班号。
(2)显示student表中不姓“王”的同学记录。 (3)显示student表中每个学生的姓名和年龄。
(4)显示student表中最大和最小的birthday日期值。
(5)以班号和年龄从大到小的顺序显示student表中的全部记录。 (6)显示“男”教师及其所上的课程。
(7)列出最高分同学的no、cno和degree列。 (8)列出和“李军”同性别的所有同学的name。 (9)列出和“李军”同性别并同班的同学name。
(10)列出所有选修“计算机导论”课程的“男”同学的成绩表。 4、今有两个关系模式:(书后P148第8题)
职工(职工号,姓名,年龄,职务,工资,部门号) 部门(部门号,名称,经理名,地址,电话号)
请用SQL的GRANT语句(加上视图机制)完成以下授权定义或存取控制功能: (1)用户王明对两个表有select权力;
(2)用户李勇对两个表有insert和delete权力;
(3)用户刘星对职工表有查询权力,对工资字段具有更新权力; (4)用户张新具有修改这两个表的结构的权力;
(5)用户周平具有对两个表所有权力(读、插、改、删数据),并具有给其他用户授权的权力;
(6)用户杨兰具有从每个部门职工中查询最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。
3
共分享92篇相关文档