ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:28.08KB ,
资源ID:3939573      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3939573.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SQL语言练习题和答案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SQL语言练习题和答案.docx

1、SQL语言练习题和答案第三章 SQL 语言、选择题1.SQL 语言是( B )的语言,容易学习 。A.过程化 B. 非过程化C.格式化 D. 导航式2.SQL语言的数据操纵语句包括 SELECT、INSERT、UPDAT、E DELETE等。其中最重要的, 也是使用最频繁的语句是( A)。A.SELECT B. INSERTC. UPDATE D. DELETE3.在视图上不能完成的操作是( )。A.更新视图 B. 查询C. 在视图上定义新的表 D. 在视图上定义新的视图4.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中, CREAT、EDROP、ALTER语句是实现哪种功

2、能( )。A.数据查询 B. 数据操纵C. 数据定义 D. 数据控制5.SQL 语言中,删除一个视图的命令是( )。6.在 SQL语言中的视图 VIEW是数据库的( )。A.外模式 B. 模式 C. 内模式 D. 存储模式7.下列的 SQL语句中,( )不是数据定义语句。A.CREATE TABLE B. DROP VIEWC. CREATE VIEW D. GRANT8.若要撤销数据库中已经存在的表 S,可用( )。A. DELETE TABLE S B. DELETE SC. DROP TABLE S D. DROP S9.若要在基本表 S中增加一列 CN(课程名) ,可用( )。TABL

3、E S(CN CHAR()TABLE S ALTER(CN CHAR()TABLE S ADD(CN CHAR()TABLE S (ADD CN CHA(R )10.学生关系模式 S( S ,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、 性别、年龄。要在表 S中删除一个属性“年龄”,可选用的 SQL语句是( )。A. DELETE Age from SB.ALTER TABLE S DROP AgeC.UPDATE S AgeD.ALTER TABLE S Age11.有关系 S( S, SNAM,E SAGE),C( C, CNAM)E,SC( S, C, GRAD)E。

4、其中 S 是学生号, SNAME是学生姓名, SAGE是学生年龄, C是课程号, CNAME是课程名称。要 查询选修“ ACCES”S课的年龄不小于 20的全体学生姓名的 SQL语句是 SELECTS NAMEF ROMS , C,SC WHERE子句。这里的 WHERE子句的内容是( )。A. # = # and # = # and SAGE=20 and CNAME= ACCESSB.# = # and # = # and SAGE in=20 and CNAME in ACCESSC.SAGE in=20 and CNAME in ACCESSD. SAGE=20 and CNAME=

5、ACCESS12.设关系数据库中一个表 S的结构为 S( SN,CN, grade ),其中 SN为学生名, CN为 课程名,二者均为字符型; grade 为成绩,数值型,取值范围 0 100。若要把“张二的化学成绩 80 分”插入 S中,则可用( )。A. ADDINTO SVALUES(张二,化学, 80)B.INSERT80)INTO SVALUES(张二,化学,C.ADDINTO SVALUES(张二,化学, 80)D.INSERTINTO SVALUES(张二,化学, 80)为课程名,二者均为字符型; grade 为成绩,数值型,取值范围 0 100。若要更正王二的化 学成绩为 85

6、 分,则可用( )。A. UPDATE SSET grade 85WHERE SN王二 AND CN化学B.UPDATE SSET grade 85WHERE SN王二 AND CN化学C.UPDATE grade 85WHERE SN王二 AND CN化学 D. UPDATE grade 85WHERE SN王二 AND CN化学14.在 SQL语言中,子查询是( )。 A. 返回单表中数据子集的查询语言B.选取多表中字段子集的查询语句C.选取单表中字段子集的查询语句D.嵌入到另一个查询语句之中的查询语句15.SQL 是一种( )语言。A. 高级算法 B. 人工智能C. 关系数据库 D. 函

7、数型16.有关系 S( S, SNAM,E SEX),C(C, CNAM)E, SC(S, C, GRAD)E。其中 S 是学生号, SNAME是学生姓名, SEX是性别, C是课程号, CNAME是课程名称。要查询 选修“数据库”课的全体男生姓名的 SQL语句是 SELECT SNAMFER OMS ,C,SC WHER子E 句。这里的 WHERE子句的内容是( )。= # and # = # and SEX= 男 and CNAME=数据库= # and # = # and SEX in 男 and CNAME in数据库男 and CNAME 数据库男 and CNAME= 数据库17.

8、若用如下的 SQL语句创建了一个表 SC:CREATET ABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCOREIN TEGER, NOTE CHA(R 20);向 SC表插入如下行时, ( )行可以被插入 。A. ( 201009, 111, 60,必修)B.( 200823, 101, NULL,NULL)C.(NULL,103, 80,选修)D.(201132, NULL,86, )18.假设学生关系 S(S, SNAM,E SEX),课程关系 C( C, CNAM)E,学生选课关系 SC( S, C, GRAD)E。要查询选修“ C

9、omputer”课的男生姓名,将涉及到关系( )。A. S B. S ,SC C. C,SC D. S,C,SC二、简答题1.试述 SQL语言的特点。答:(1)综合统一。 SQL语言集数据定义语言 DDL、数据操纵语言 DML、数据控制语言 DCL 的功能于一体。(2)高度非过程化。用 SQL语言进行数据操作,只要提出“做什么”, 而无须指明“怎 么做”,因此无需了解存取路径,存取路径的选择以及 SQL语句的操作过程由系统自动完成。( 3)面向集合的操作方式。 SQL语言采用集合操作方式,不仅操作对象、查找结果可 以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同

10、一种语法结构提供两种使用方式。 SQL语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式, 也能够嵌入到高级语言程序 中,供程序员设计程序时使用。(5)语言简捷,易学易用。2.试述 SQL的定义功能。答: SQL的数据定义功能包括定义表、定义视图和定义索引。SQL语言使用 CREATET ABLE语句定义建立基本表, ;ALTERT ABLE语句修改基本表定义, DROP TABLE语句删除基本表;建立索引使用 CREATE INDEX语句建立索引, DROP INDEX语 句删除索引表; SQL语言使用 CREATE VIEW命令建立视图, DROP VI

11、EW语句删除视图。3.用 SQL语句建立第 3 章习题 3 中的四个表。答:对于 S表:S( SNO,SNAM,E STATUS,CITY) ;建 S表CREATE TABLE S(SNO CHAR(3) ,SNAME CHAR(10),STATUS CHAR(2),CITY CHAR(10) ;P(PNO,PNAM,E COLOR,WEIGHT;)建 P表CREATE TABLE P(PNO CHAR(3) ,PNAME CHAR(10),COLOR CHAR(4),WEIGHT INT) ;J(JNO ,JNAME, CITY) ; 建 J表CREATE TABLE J(JNO CHAR(

12、3) ,JNAME CHAR(10),CITY CHAR(10) ;SPJ(SNO,PNO,JNO,QTY);建 SPJ表CREATE TABLE SPJ(SNO CHAR(3) ,PNO CHAR(3),JNO CHAR(3) ,QTY INT) ;4.针对上题中建立的四个表试用 SQL语言完成第 3章习题 3 中的查询。 答: (1)求供应工程 J1 零件的供应商号码 SNO;SELECT SNOFROM SPJWHERE JNO=J1;(2)求供应工程 J1 零件 P1的供应商号码 SNO;SELECT SNOFROM SPJWHERE JNO=J1AND PNO= P1;(3)求供应工

13、程 J1 零件为红色的供应商号码 SNO;SELECT SNOFROM SPJWHERE JNO=J1AND PNO IN(SELECT PNOFROM PWHERE COLOR=红 ) ;或SELECT SNOFROM SPJ,PWHERE JNO=J1AND =AND COLOR=红;(4)求没有使用天津供应商生产的红色零件的工程号 JNO;解析:用 SQL语言表示如下:SELECT JNOFROM JWHERE NOT EXISTS(SELECT *FROM SPJWHERE =AND SNO IN(SELECT SNOFROM SWHERE CITY=天津 )AND PNO IN(SE

14、LECT PNOFROM PWHERE COLOR红= ) ; 或SELECT JNOFROM JWHERE NOT EXISTS(SELECT *1FROM SPJ, S, PWHERE =AND =AND =AND =天津AND P. COLOR=红 ) ;注意:从 J 表入手,以包含那些尚未使用任何零件的工程(5)JNO 。求至少用了供应商 S1所供应的全部零件的工程号 解析:用 SQL语言表示如下:SELECT DISTINCT JNOFROM SPJ SPJZWHERE NOT EXISTS(SELECT *FROM SPJ SPJXWHERE SNO=S1AND NOT EXIST

15、S(SELECT *FROM SPJ SPJYWHERE =AND =AND =S1);AND =S1 ) ;5.针对习题 3 中的四个表试用 SQL语言完成以下各项操作:( 1)找出所有供应商的姓名和所在城市。(2)找出所有零件的名称、颜色、重量。(3)找出使用供应商 S1 所供应零件的工程号码。( 4)找出工程项目 J2 使用的各种零件的名称及其数量。(5)找出上海厂商供应的所有零件号码。(6)找出使用上海产的零件的工程名称。(7)找出没有使用天津产的零件的工程号码。(8)把全部红色零件的颜色改成蓝色。(9)由 S5 供给 J4 的零件 P6改为由 S3供应,请作必要的修改。(10)从供应

16、商关系中删除 S2 的记录,并从供应情况关系中删除相应的记录。(11)请将 (S2 ,J6 ,P4,200) 插入供应情况关系。答: (1) 找出所有供应商的姓名和所在城市。SELECT SNAME, CITYFROM S;(2) 找出所有零件的名称、颜色、重量。SELECT PNAME, COLOR, WEIGHTFROM P;(3) 找出使用供应商 S1 所供应零件的工程号码。SELECT JNOFROM SPJWHERE SNO=S1;(4) 找出工程项目 J2 使用的各种零件的名称及其数量。SELECT ,FROM P, SPJWHERE =AND =J2;(5) 找出上海厂商供应的所

17、有零件号码。SELECT DISTINCT PNOFROM SPJWHERE SNO IN(SELECT SNOFROM SWHERE CITY=上海 ) ;(6) 找出使用上海产的零件的工程名称。SELECT JNAMEFROM J, SPJ, SWHERE J. JNO=SPJ. JNOAND SPJ. SNO=AND = 上海 ;或SELECT JNAMEFROM JWHERE JNO IN(SELECT JNOFROM SPJ, SWHERE SPJ. SNO=AND = 上海 );(7)找出没有使用天津产的零件的工程号码。SELECT JNOFROM JWHERE NOT EXIST

18、S(SELECT *FROM SPJWHERE = AND SNO IN(SELECT SNOFROM SWHERE CITY=天津 ) ; 或SELECT JNOFROM JWHERE NOT EXISTS(SELECT *1FROM SPJ, SWHERE = AND = AND =天津 ) ;(8)把全部红色零件的颜色改成蓝色。UPDATE PSET COLOR=蓝 WHERE COLOR=红 ;(9)由 S5供给 J4 的零件 P6改为由 S3供应,请作必要的修改。UPDATE SPJSET SNO=S3WHERE SNO=S5 AND JNO=J4 AND PNO=P6;(10)从供

19、应商关系中删除 S2 的记录,并从供应情况关系中删除相应的记录。DELETEFROM SPJWHERE SNO=S2; 或DELETEFROM SWHERE SNO=S2;解析:注意删除顺序,应该先从 SPJ表中删除供应商 S2 所供应零件的记录,然后从从S 表中删除 S2。(11)请将 (S2 , J6, P4,200) 插入供应情况关系。INSERT INTO SPJ(SNO, JNO, PNO, QTY)VALUES (S2 ,J6, P4,200); 或INSERT INTO SPJVALUES (S2,P4,J6 ,200);6.什么是基本表什么是视图两者的区别和联系是什么 答:基本

20、表是本身独立存在的表,在 SQL中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。 即数据库中只存放视图的定义而不存放视图对应的数据, 这些数据仍存放在导出视图的基本 表中。 视图在概念上与基本表等同, 用户可以如同基本表那样使用视图, 可以在视图上再定 义视图。7.试述视图的优点。 答:(1) 视图能够简化用户的操作。(2) 视图使用户能以多种角度看待同一数据。(3) 视图对重构数据库提供了一定程度的逻辑独立性。(4)视图能够对机密数据提供安全保护。8.所有的视图是否都可以更新为什么 答:不是。 视图是不实际存储数据的虚表,因此对视图的更新,

21、最终要转换为对基本表 的更新。 因为有些视图的更新不能唯一地有意义地转换成对相应基本表的更新, 所以, 并不是所有的视图都是可更新的。如 概论 3.5.1 中的视图 S_G(学生的学号及他的平均成绩) CREAT VIEW S_G(Sno, Gavg) AS SELECT Sno, AVG(Grade)FROM SC GROUP BY Sno; 要修改平均成绩, 必须修改各科成绩, 而我们无法知道哪些课程成绩的变化导致了平均 成绩的变化。9.哪类视图是可以更新的,哪类视图是不可更新的 各举一例说明。 答:基本表的行列子集视图一般是可更新的。如概论 3.5.3 中的例 1。 若视图的属性来自集函

22、数、表达式,则该视图肯定是不可以更新的。 如概论 3.5.3 中的 S_G视图。10.试述某个你熟悉的实际系统中对视图更新的规定。 答:(略)解析: 不同的系统对视图更新的规定是不同的, 读者必须了解你所用系统对视图更新的 规定。11.请为三建工程项目建立一个供应情况的视图,包括供应商代码( SNO)、零件代码( PNO)、供应数量( QTY)。针对该视图完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量。 (2)找出供应商 S1 的供应情况。答:建视图:CREATE VIEW V_SPJ ASSELECT SNO, PNO, QTYFROM SPJ WHERE JNO= (SELECT JNOFROM JWHERE JNAME=三 建 ) ;对该视图查询:(1) 找出三建工程项目使用的各种零件代码及其数量。SELECT PNO, QTYFROM V_SPJ;(2) 找出供应商 S1 的供应情况。SELECT PNO, QTY /* S1 供应三建工程的零件号和对应的数量 */ FROM V_SPJWHERE SNO=S1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1