收藏 分销(赏)

数据库第三章习题.doc

上传人:丰**** 文档编号:4374805 上传时间:2024-09-14 格式:DOC 页数:12 大小:90KB 下载积分:8 金币
下载 相关 举报
数据库第三章习题.doc_第1页
第1页 / 共12页
数据库第三章习题.doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
第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 HAVING 12.在SELECT语句中,需对分组情况满足得条件进行判断时,应使用( )。 A WHERE B GROUP BY C ORDER BY D HAVING 13.SQL中,与“NOT IN”等价得操作符就是( )。 A =ANY B <>ANY C =ALL D <>ALL 14.视图建立后,在数据字典中存放得就是( )。 A 查询语句 B 组成视图得表得内容 C 视图得定义 D 产生视图得表得定义 第15到第18题基于这样得三个表即学生表S、课程表C与学生选课表SC,它们得结构如下: S(S#,SN,SEX,AGE,DEPT) C(C#,CN) SC(S#,C#,GRADE) 其中:S#为学号,SN为姓名,SEX性别,AGE为年龄,DETP为系别,C#为课程号,CN为课程名,GRADE为成绩。 15、检索所有比“王华”年龄大得学生姓名、年龄与性别。正确得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 16、检索选修课程“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 C#=’C2’) 17、检索学生姓名及其所选修课程得课程号与成绩。正确得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 S, SC WHERE S、S#=SC、S# D、SELECT S、SN, SC、C#, SC、GRADE FROM S, SC 18.检索选修四门以上课程得学生总成绩(不统计不及格得课程),并要求按总成绩得降序排列出来。正确得SELECT得语句就是( )。 A、SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# ORDER BY 2 DESC HAVING COUNT (*)>=4 B、SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 GROUP BY S# HAVING COUNT (*)>=4 ORDER BY 2 DESC C、 SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 HAVING COUNT (*)>=4 GROUP BY S# ORDER BY 2 DESC D、 SELECT S#, SUM (GRADE) FROM SC WHERE GRADE>=60 ORDER BY 2 DESC GROUP BY S# HAVING COUNT (*)>=4 19.假定学生关系就是S(S#,SNAME,SEX,AGE),课程关系就是C(C#,CNAME,TEACHER),学生选课关系就是SC(S#,C#,GRADE)。要查找选修“PUTER”课程得:“女”学生姓名,将涉及到关系( )。 A、S B、SC, C C、S, SC D 、S,C,SC 20.下面得数据库得表中,若职工表得主关键字就是职工号,部门表得主关键字就是部门号,SQL操作( )不能执行。 职工表 部门表 职工号 职工名 部门号 工资 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’ 21.若用如下得SQL语句创建一个student表:CREATE 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) 22.数据库中建立索引得目得就是为了( )。 A 加快建表速度 B 加快存取速度 C 提高安全性 D 节省存储空间 23.视图就是数据库系统三级模式中得( )。 A 外模式 B 模式 C 内模式 D 模式映像 24.下列说法不正确得就是( )。 A 基本表与视图一样,都就是关系 B 可以使用SQL对基本表与视图进行操作 C 可以从基本表或视图上定义视图 D 基本表与视图中都存储数据 二、综合题 1、已知关系R如图所示 R A B C 97 97 97 98 98 98 99 99 b1 b2 b3 b1 b2 b3 b1 b2 84 92 98 72 84 95 88 94 图 关系R 试用SQL语言实现下列操作: (1) 按属性A分组,求出每组中在属性C上得最大值与最小值,且将它们置于视图RVE中。 Create view RVE(A,CMAX,CMIN) As Select max(C),min(C) From R Group by A; (2) 在视图RVE中查询属性A=‘98’得记录。 Select * From RVE Where A=‘98’; 2.已知学生表S与学生选课表SC其关系模式如下: S(SNO,SN,SD, PROV);SC(SNO,CN,GR),其中SNO为学号,SD为系名,PROV为省区,CN为课程名,GR为分数。试用SQL语言实现下列操作: (1) 查询“信息系”得学生来自哪些省区。 Select DISTINCT PROV From S Where SD=‘信息系’; (2) 按分数降序排序,输出“英语系”学生选修了“计算机”课程得学生得姓名与分数。 Select SN,GR From S,SC Where S、SNO=SC、SNO AND SD=‘英语’ AND CN=‘计算机’ Group by GR DESC; 3.设有学生表S(SNO,SN)(SNO为学生号,SN为姓名)与学生选修课程表SC(SNO,CNO,CN,G)(CNO为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各操作: (1)创建一个视图V-SSC(SNO,SN,CNO,CN,G)。 Create view V-SSC(SNO,SN,CNO,CN,G) AS Select S、SNO, S、SN, SCO, SC, SC、G From S, SC Where S、SNO=SC、SNO (2)从视图V-SSC上查询平均成绩在90分以上得SNO与平均分。 Select SNO,AVG(G) From V-SSC Group by SNO Having AVG(G) 4.设有关系模式: S(SN,SNAME,CITY)其中,S代表供应商,SN,代表供应商号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN; P(PN,PNAME,COLOR,WEIGHT)其中P代表零件,PN代表零件号,PNAME代表零件名,COLOR为零件颜色,WEGHT为零件重量,主关键字为PN; J(JN,JNAME,CITY)其中J表示工程,JN为工程编号,JNAME为工程名,CITY为工程所在城市,主关键字为JN。 如下图所示表示供应商(S)-零件(P)-工程(J)数据库表,写出实现以下各题功能得SQL语句: SPJ SN PN JN QTY S1 S1 S2 S2 S2 S2 S2 S2 S2 S2 S3 S3 S4 S4 S5 S5 S5 S5 S5 S5 S5 S5 S5 S5 P1 P1 P3 P3 P3 P3 P3 P3 P3 P3 P3 P4 P6 P6 P2 P2 P5 P5 P6 P1 P3 P4 P5 P6 J1 J4 J1 J2 J3 J4 J5 J6 J7 J2 J1 J2 J3 J7 J2 J4 J5 J7 J2 J4 J4 J4 J4 J4 200 700 400 200 200 500 600 400 800 100 200 500 300 300 200 100 500 100 200 1000 1200 800 400 500 SN SNAME CITY S1 S2 S3 S4 S5 N1 N2 N3 N4 N5 上海 北京 北京 上海 南京 S P PN PNAME COLOR WEIGHT P1 P2 P3 P4 P5 P6 PN1 PN2 PN3 PN4 PN5 PN6 红 绿 蓝 红 蓝 绿 12 18 20 13 11 15 J JN JNAME CITY J1 J2 J3 J4 J5 J6 J7 JN1 JN2 JN3 JN4 JN5 JN6 JN7 上海 广州 南京 南京 上海 武汉 上海 (1) 取出工程得全部细节。 Select * From J (2) 取出所在城市为上海得所有工程得全部细节。 Select * From J Where CITY=‘上海’; (3) 取出重量最轻得零件代号。 Select PN From P Where WEIGHT= (Select MIN (WEIGHT) From P ); (4) 取出为工程J1提供零件得供应商代号。 Select SN From SPJ Where JN=’J1’; S(SN,SNAME,CITY) P(PN,PNAME,COLOR,WEIGHT) J(JN,JNAME,CITY) SPJ(SN,PN,JN,QTY) (5) 取出为工程J1提供零件P1得供应商代号。 Select SN From SPJ Where JN=’J1’ AND PN=’P1’; (6) 取出由供应商S1提供零件得工程名称。 Select J、JNAME From SPJ, J Where SPJ、JN=J、JN AND SPJ、SN=‘S1’; (7) 取出供应商S1提供得零件得颜色。 Select Distinct P、COLOR From SPJ, P Where SPJ、PN=P、PN AND SPJ、SN=’S1’; (8) 取出为工程J1或J2提供零件得供应商代号。 Select Distinct SN From SPJ Where JN=’J1’ OR JN=’J2’; (9) 取出为工程J1提供红色零件得供应商代号。 Select Distinct SPJ、SN From SPJ, P Where SPJ、PN=P、PN AND SPJ、JN=‘J1’ AND P、COLOR=‘红’; (10) 取出为所在城市为上海得工程提供零件得供应商代号。 Select DISTINCT SPJ、SN From J, SPJ Where J、JN=SPJ、JN AND J、CITY=‘上海’; (11) 取出为所在城市为上海或北京得工程提供红色零件得供应商代号。 Select SPJ、SN From P, J, SPJ Where J、JN=SPJ、JNO AND P、PN=SPJ、PN AND P、COLOR=‘红’AND (J、CITY=‘上海’OR J、CITY=‘北京’); (12) 取出供应商与工程所在城市相同得供应商提供得零件代号。 Select DISTINCT SPJ、PN From S, J, SPJ Where J、JN=SPJ、JN AND S、SN=SPJ、SN AND J、CITY=S、CITY (13) 取出上海得供应商提供给上海得任一工程得零件得代号。 Select SPJ、PN From S, J, SPJ Where J、JN=SPJ、JN AND S、SN=SPJ、SN AND J、CITY=‘上海’ AND S、CITY=‘上海’; (14) 取出由供应商S1提供零件得工程得代号。 Select Distinct SPJ、JN From S,P,SPJ Where S、SN=SPJ、SN AND P、PN=SPJ、PN AND S、SN=‘S1’; (15) 取出所有这样得一些<CITY,CITY>二元组,使得第1个城市得供应商为第2个城市得工程提供零件。 Select Distinct S、CITY,J、CITY From S, J, SPJ Where S、SN=SPJ、SN AND J、JN=SPJ、JN ; (16) 把零件P2得重量增加5,颜色改为黄色。 UPDATE P SET WEIGHT=WEIGHT+5, COLOR=‘黄’ Where PN=‘P2’; (17) 将没有供货得所有工程项目从J表中删除。 Delete From J Where JN not in ( Select * From SPJ); (18) 查询提供全部零件得供应商名。 Select SNAME From S Where SNO IN ( SELECT SNO FROM SPJ); (19) 查询这样得工程项目号:该工程项目使用P1零件得平均使用量大于工程项目J1使用得任何一种零件得最大数量。 SELECT JNO FROM SPJ WHERE SPJ、PNO=P1 GROUP BY JNO HAVING AVG (QTY)>ALL (SELECT QTY FROM SPJ WHERE SPJ、JNO =‘J1’); (20)定义一个视图,它由所有这样得工程项目(工程项目号与所在城市名称)组成:它们由供应商S1供货且使用零件P1。 CREAT VIEW JN,JCITY AS Select J、JN,J、CITY From J, SPJ Where J、JN=SPJ、JN AND SPJ、SN=’S1’ AND SPJ、PN=’P1’; 5.假设有如下4个样本表: student (学生信息表) NO NAME SEX BIRTHDAY CLASS 108 105 107 101 109 103 曾华 匡明 王丽 李军 王芳 陆军 男 男 女 男 女 男 09/01/77 10/02/75 01/23/76 02/20/76/ 02/10/75 06/03/74 95033 95031 95033 95033 95031 95031 teacher (教师信息表) NO NAME SEX BIRTHDAY PROF DEPART 804 856 825 831 李成 张旭 王萍 刘冰 男 男 女 女 12/02/58 03/12/69 05/05/72 08/14/77 副教授 讲师 助教 助教 计算机系 电子工程系 计算机系 电子工程系 course (课程表) score (成绩表) CNO CNAME TNO 3-105 3-245 6-166 9-888 计算机导论 操作系统 数字电路 高等数学 825 804 856 100 NO CNO DEGREE 103 105 3-245 3-245 86 75 Student(NO,NAME,SEX,BIRTHDAY,CLASS) Teacher(NO,NAME,SEX,BIRTHDAY,PROF,DEPART) Course(CNO,CNAME,TNO) Score(NO,CNO,DEGREE) (1) 列出至少有2名男生得班号。 Select CLASS From student Where SEX=’男’ GROUP BY CLASS HAVING COUNT(*)>2 (2) 显示student表中不姓“王”得同学记录。 SELECT * FROM STUDENT WHERE NAME NOT LIKE‘王%’; (3) 显示student表中每个学生得姓名与年龄。 SELECT NAME, 2017-YEAR(birthday) FROM STUDENT; (4) 显示student表中最大与最小得birthday日期值。 SELECT NAME,MAX(BIRTHDAY),MIN(BIRTHDAY) FROM STUDENT; (5) 以班号与年龄从大到小得顺序显示student表中得全部记录。 SELECT * FROM STUDENT ORDER BY CLASS,2017-YEAR(BIRTHDAY)DESC (6) 显示“男”教师及其所上得课程。 SELECT TEACHER、NAME,COURSE、NAME FROM TEACHER,COURSE WHERE TEACHER、NO=COURSE、TNO AND TEACHER、SEX=‘男’; (7) 列出最高分同学得no、cno与degree列。 SELECT NO,CNO,DEGREE FROM SCORE WHERE DEGREE= (SELECT MAX(DEGREE) FROM SCORE) (8) 列出与“李军”同性别得所有同学得name。 SELECT NAME FROM STUDENT WHERE SEX= (SELECT SEX FROM STUDENT WHERE NAME=‘李军’); (9) 列出与“李军”同性别并同班得同学name。 SELECT NAME FROM STUDENT WHERE SEX = (SELECET SEX FROM STUDENT WHRER NAME=‘李军’) AND CLASS= (SELECT CLASS FROM STUDENT WHERE NAME=‘李军’); (10) 列出所有选修“计算机导论”课程得“男”同学得成绩表。 SELECT STUDENT、NO,COUSEO,SCORE、DEGREE FROM STUDENT,COURSE,SCORE WHERE STUDENT、NO=SCORE、NO AND COURSEO=SCOREO AND COURSEAME=‘计算机导论’ AND STUDENT、SEX=‘男’; 6、设职工---社团数据库有三个基本表: 职工(职工号,姓名,年龄,性别); 社会团体(编号,名称,负责人号,活动地点); 参加(职工号,编号,参加日期); 试用SQL语句完成下列操作: 1)建立下列两个视图。 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别); 参加人情况(职工号,姓名,社团编号,社团名称,参加日期) CREATE VIEW 社团负责人(编号,名称,负责人职工号,负责人姓名,负责人性别) AS SELECT 编号,名称,负责人, 姓名, 性别 FROM 社会团体,职工 WHERE 社会团体、负责任号=职工、职工号 CREATE VIEW参加人情况(职工号,姓名,社团编号,社团名称,参加日期) AS SELECT 参加、职工号,职工、姓名,社会团体、编号,社会团体、名称,参加。参加日期 FROM 职工,社会团体,参加 WHERE 职工、职工号=参加、职工号 AND 参加、编号=社会团体、编号; 2)查找参加唱歌队或篮球队得职工号与姓名。 SELECT 职工号,姓名 FROM 职工,社会团体,参加 WHERE 职工、职工号=参加、职工号 AND 参加、编号=社会团体、编号 AND 社会团体、名称=‘唱歌队’OR社会团体、名称=‘篮球队’; 3)查找没有参加任何团体得职工情况。 SELECT * FROM 职工 WHERE NOT EXISTS (SELECT * FROM 参加 WHERE 参加、职工号=职工、职工号); 4)查找参加了全部社会团体得职工情况。 SELECT * FROM 职工 WHERE NOT EXISTS (SELECT * FROM 参加 WHERE NOT EXISTS (SELECT* FROM 社会团体 WHERE 参加、职工号=职工、职工号AND 参加、编号=社会团体、编号)); 5)查找至少参加了职工号为“1001”得职工所参加得全部社会团体得职工号。 SELECT 职工号 FROM 职工 WHERE NOT EXISTS( SELECT * FROM 参加 参加1 WHERE 参加1、职工号=‘1001’AND NOT EXISTS (SELECT * FROM 参加、参加2 WHERE 参加2、编号=参加1、编号 AND 参加2、职工号=职工、职工号)) 6)求每个社会团体得参加人数。 SELECT COUNT(职工号) FROM 参加 GROUP BY 编号 7)把对“社会团体”与“参加”两个表得数据查瞧、插入与删除数据得权力赋给用户李平,并允许她将此权力授予其她用户。 GRANT SELECT,INSERT,DELECT ON 社会团体,参加 TO 李平 WITH GRANT OPTION;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服