《2022年数据库练习题文件 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库练习题文件 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第四章练习题一、选择题1、设有两个关系R(A, B)和 S( B,C) ,与下列SELECT 语句SELECT A, B FROM R WHERE B NOT IN (SELECT B FROM S WHERE C=C56) ;等价的关系代数表达式是 C AA,B(C C56(R?S)BA,B(R ? S )CRA, B(C= C56(R?S)DRA,B(C C56( R?S)2、嵌入式SQL的预处理方式,是指 B A识别出SQL语句,加上前缀标识和结束标志B把嵌入的SQL语句处理成函数调用形式C对源程序进行格式化处理D把嵌入的SQL语句编译成目标程序3、SQL中, “DELETE FROM
2、表名”表示 A A从基本表中删除所有元组B从基本表中删除所有属性C从数据库中撤消这个基本表D从基本表中删除重复元组4、SQL中,聚合函数COUNT (列名)用于 C A计算元组个数B计算属性的个数C对一列中的非空值计算个数D对一列中的非空值和空值计算个数5、在传统SQL技术中,使用“ORDER BY ”子句的SELECT 语句查询的结果,实际上为 B A数组 B列表 C包 D集合6、在数据库中,能提高查询速度的是(C )A. 数据依赖 B. 视图 C. 索引 D. 数据压缩7、语句 delete from sc 表明(A ) A. 删除 sc 中的全部记录 B. 删除基本表sc C. 删除基本
3、表sc 中的列数据D. 删除基本表sc 中的部分行8、在 DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现。 A. 指针 B. 游标 C. 数组 D. 栈9、在下列基本表的定义中,数值表示(C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2); A. 表中有条记录 B. 表中有列C. 表中字符串Sno 的长度D. 表格的大小10、 在视图上不能完成的操作是( C ) CC56 名师资料总结 - - -精品资料欢迎下载 - - - - - -
4、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - A. 更新视图 B. 查询C. 在视图上定义新的基本表 D. 在视图上定义新视图 11 、下列聚合函数中不忽略空值 (null) 的是 ( C)A、SUM (列名) B、MAX (列名 ) C、COUNT ( * ) D、AVG (列名 ) 12、 SQL的查询语句的where 子句中,对空值的操作,不正确的是(C )A、where AGE IS NULL B、where AGE IS NOT NULL C、where AGE = NULL D
5、、where NOT (AGE IS NULL) 13、 Transact-SQL对标准 SQL的扩展主要表现为( A ) 。 A. 加入了程序控制结构和变量B. 加入了建库和建表语句 C. 提供了分组( Group By )查询功能 D. 提供了 Min、Max待统计函数14、以下哪种情况应尽量创建索引( A ) 。A. 在 Where子句中出现频率较高的列 B. 具有很多NULL值的列C. 记录较少的基本表 D. 需要更新频繁的基本表15、下列 SQL Server 语句中出现语法错误的是( D ) 。 A. DECLARE Myvar INT B. SELECT * FROM AAA C
6、. CREATE DATABASE AAA D. DELETE * FROM AAA 16、属于事务控制的语句是( A ) 。 A. Begin Tran、Commit、RollBack B. Begin 、Continue 、End C. Create Tran、Commit、RollBack D. Begin Tran、Continue 、End 17、在 SQL语言的 SELECT 语句中,实现投影操作的是哪个子句?(A ) A)select B )from C )where D)grou by 18、 用二维表结构表示实体以及实体间联系的数据模型称为(C ) A)网状模型 B)层次模型
7、 C)关系模型 D)面向对象模型第( 19)至( 21)题是基于如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT 的主键是部门号EMP DEPT 雇员号雇员名部门号工资部门号部门名地址001 010 056 101 张山王宏达马林生赵敏02 01 02 04 2000 1200 1000 1500 01 02 03 04 业务部销售部服务部财务部1 号楼2 号楼3 号楼4 号楼19、 若执行下面列出的操作,哪个操作不能成功执行?(D ) A) 从 EMP 中删除行 ( 010, 王宏达 , 01,1200)B) 在 EMP 中插入行 ( 102, 赵敏 , 01,1
8、500)C) 将 EMP 中雇员号 =056的工资改为1600 元名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - D) 将 EMP 中雇员号 =101的部门号改为 0520、若执行下面列出的操作,哪个操作不能成功执行?(C ) A) 从 DEPT 中删除部门号=03的行B)在 DEPT中插入行(06 , 计划部, 6 号楼 )C) 将 DEPT中部门号 =02的部门号改为10D) 将 DEPT中部门号 =01的地址改为5 号楼
9、21、在雇员信息表关系EMP中,哪个属性是外键(foreign key)? (C ) A) 雇员号B) 雇员名C) 部门号D) 工资22、设关系 R和关系 S的元数分别是3 和 4,关系 T是 R与 S的广义笛卡尔积,即:T=R S,则关系 T 的元数是 (A ) A) 7 B) 9 C) 12 D) 1 23、设属性A是关系 R的主属性,则属性A不能取空值(NULL ) 。这是 (A ) A) 实体完整性规则 B) 参照完整性规则 C) 用户定义完整性规则 D) 域完整性规则24、 下面列出的关于“视图(View) ”的条目中,哪一条是不正确的?( B) A) 视图是外模式B)使用视图可以加
10、快查询语句的执行速度C) 视图是虚表 D) 使用视图可以简化查询语句的编写25、 SQL 语言集数据查询、 数据操纵、数据定义和数据控制功能于一体,语句 INSERT 、 DELETE 、UPDATE 实现哪类功能?(B ) A) 数据查询B) 数据操纵C) 数据定义D) 数据控制26、在数据库管理系统中,下面哪个模块不是数据库存取的功能模块?( A) A) 事务管理程序模块B) 数据更新程序模块C) 交互式程序查询模块D) 查询处理程序模块27、 SQL查询语句中,用于测试子查询是否为空的谓词是(A ) 。 A、 EXISTS B、UNIQUE C 、SOME D 、ALL 28、下列 SQ
11、L语句中,插入数据的是(D )。A、CREATE B 、 ALTER C 、UPDATE D、INSERT 29、 在下面所列出的条目中,哪些是数据库管理系统的基本功能?(D ) . 数据库定义. 数据库的建立和维护. 数据库存取. 数据库和网络中其他软件系统的通信A) 和B) 、和C) 和D) 都是30、当修改基本数据时,下列关系视图的说法正确的是(B )A、需要重建 B、查以看到修改结果C、无法看到修改结果式 D、不许修改带视图的基表31、 在数据库管理系统的层次结构中,由高级到低级的层次排列顺序为(D ) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
12、- - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - A) 应用层、数据存取层、数据存储层、语言翻译处理层B) 应用层、数据存储层、数据存取层、语言翻译处理层C) 应用层、数据存储层、语言翻译处理层、数据存取层D) 应用层、语言翻译处理层、数据存取层、数据存储层32、在 SQL语言的 SELECT 语句中,实现投影操作的是( A )子句。A、select B 、from C 、where D、grou by 33、 SQL中, “AGE IN(20,22) ”的语义是( D ) 。A)AGE=20 B)AGE 2
13、0 C)AGE =20 AND AGE =22 D)AGE =20 OR AGE =22 34 SQL 中,聚合函数COUNT (列名)用于( C )A计算元组个数B计算属性的个数C对一列中的非空值计算个数D 对一列中的非空值和空值计算个数35、 Transact-SQL对标准 SQL的扩展主要表现为(A ) 。A. 加入了程序控制结构和变量 B. 加入了建库和建表语句C. 提供了分组( Group By )查询功能 D. 提供了 Min、Max统计函数36、已知关系:厂商(厂商号,厂名)PK=厂商号产品(产品号,颜色,厂商号)PK= 产品号, FK=厂商号假设两个关系中已经存在如图所示元组:
14、厂商产品厂商号厂名C01 宏达C02 立仁C03 广源产品号颜色厂商号P01 红C01 P02 黄C03 若再往产品关系中插入如下元组:I (P03,红, C02)II ( P01,蓝, C01 )III(P04,白, C04)IV (P05,黑, null )能够插入的元组是( D )A I ,II ,IV B I,III C I,II D I,IV 37、设有一个关系:DEPT (DNO ,DNAME) ,如果要找出倒数第三个字母为W ,并且至少包含4个字母的 DNAME,则查询条件子句应写成WHERE DNAME LIKE ( B )A _ _ W _ % B _ % W _ _ C _
15、 W _ _ D _ W _ %38、下列 SQL语句中,修改表结构的是(D )。A、CREATE B 、INSERT C 、UPDATE D、ALTER 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 14 页 - - - - - - - - - 39、 SQL语句通常称为( A ) 。A、结构化查询语言 B 、结构化控制语言 C 、结构化定义语言 D 、结构化操纵语言40、 SQL语言的一体化特点主要是与( B )相比较而言的。A、操作系统命令 B 、非关系模型的数据
16、语言 C 、高级语言 D 、自然语言41、 SQL语言中,删除一个表的命令是( B )A、 DELETE table B、DROP table C、 CLEAR table D、 REMORE table 42、在基表S中查询所有姓名中有“国”的学生,在WHERE 子句中应使用( A )通配符。A. LIKE % 国% B. LIKE % 国_ C. LIKE _国% D. LIKE _国_43、下列哪个不属于数据库对象(B ) A、默认 B 、SELECT 语句 C 、存储过程 D 、视图44、下列那一个不属于SQL SERVER 工具 (A ) A数据库管理器 B 、事件探查器 C 、导入
17、和导出数据 D 、查询分析器45、 下列那一个不属于企业管理器的功能(D ) A、注册服务器 B、配置本地和远程服务器C、引入和导出数据 D 、为 WINDOWS 创建操作系统用户46、关于 SQL Server 文件组的叙述正确的是:( A ) 。A、一个数据库文件不能存在于两个或两个以上的文件组里B、日志文件可以属于某个文件组C、文件组可以包含不同数据库的数据文件D、一个文件组只能放在同一个存储设备中47、下面关于外码的描述中,不正确的是(C ) 。A. 外码体现了关系间的联系手段 B. 外码是某个关系的码C. 外码不是任何关系的码D. 外码是一个关系的码同时是另一个关系的属性48、在 S
18、QL Server 中关于索引叙述正确的是:( B ) 。A、每个数据库表可以建立多个聚集索引 B、每个表可以定义多个非聚集索引C、索引的数据保存在同一个表中 D、索引不会改变表中的数据49、关于索引描述错误的是以下的哪一个?( A)A、表中的任何数据列都可以添加索引 B、创建索引的列最好不要含有许多重复的值C、一般不给很少使用的列添加索引D、并不是数据库中聚集索引越多搜索效率就越高50、关于存储过程的描述正确的一项是:( C ) 。A、存储过程的存在独立于表,它存放在客户端,供客户使用B、存储过程只是一些T-SQL语句的集合,不能看作SQL Server 的对象名师资料总结 - - -精品资
19、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - C、存储过程可以使用控制流语句和变量,大大增强了SQL的功能D、存储过程在调用时会自动编译,因此使用方便51、关于触发器叙述正确的是( A ) 。A、触发器是自动执行的,可以在一定条件下触发B、触发器不可以同步数据库的相关表进行级联更改C、SQL Server 不支持 DDL触发器D、触发器不属于存储过程52、在基表S中删除电话号码(PHONE) 属性使用( B ) 命令。A. ALTER S DROP PH
20、ONE B. ALTER TABLE S DROP PHONE C. UPDATE TABLE S PHONE D. DROP TABLE S PHONE 54、 描述事物性质的最小数据单位是( C ) 。A. 记录B. 文件 C. 数据项D. 数据库55在 SQL数据库中,视图(view )是从一个或几个基表(或视图)导出的表,它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍然存放在对应的基表中。因此视图( B ) 。 A. 也是一个表 B. 是一个虚表 C. 是一个数据库 D. 是一个文件56.当前 DBMS 所支持的数据模型的主流是(C) 。A.
21、网状模型 B. 层次模型 C. 关系模型 D. 面向对象模型57. 能唯一地标识实体属性的( C )称为主码。A. 组和 B. 排列 C. 集合 D. 元组58 下述关于数据库系统的正确叙述是( B ) 。A. 数据库中只存在数据项之间的联系B. 数据库的数据项之间和记录之间都存在联系C. 数据库的数据项之间无联系,记录之间存在联系D. 数据库的数据项之间和记录之间都不存在联系59.授权定义经过编译和存储在( D )中。A. DBMD B. 视图 C. 基表 D. 数据库60 假定学生关系是S(S#,SNAME ,SEX ,AGE),课程关系是C(C#,CNAME,TEACHER) ,学生选课
22、关系是SC(S#,C#,GRADE) ,要查找选修“COMPUTER”课程的女学生的姓名,将涉及到关系(D) 。A. S B. SC,C C. S.SC D. S,C,SC61数据库技术的奠基人之一,E.F.Codd 于 1970 年发表过多篇论文,主要论述的是 (C) 。A. 层次数据模型 B. 网络数据模型C. 关系数据模型 D. 面向对象数据模型62数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的( D ) 。A. 可靠性B. 一致性C. 完整性D. 安全性63、 SQL语言的 GRANT 和 REVOKE 语句主要用来维护数据库的(A ) 。A. 安
23、全性 B. 完整性 C. 可靠性 D. 一致性64、在关系数据库中,实现“表中任意二行不能相同”的约束是靠(C ) 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - A. 外码 B. 属性 C. 主码 D. 列65、对表进行垂直方向的分割用的运算是(B ) 。A. 交 B. 投影 C. 选择 D. 连接66、关系数据库中,实现表与表之间的联系是通过_(B) 。A. 实体完整性规则 B. 参照完整性规则C. 用户自定义完整性 D
24、. 值域67、关系数据库中,实现主码标识元组的作用是通过(A)。A. 实体完整性规则 B. 参照完整性规则C. 用户自定义完整性 D. 属性的值域68、如果有 n 个事务串行调度,那么不同的有效调度有 D An2 B2n C 4n Dn!69、部分匹配查询中有关通配符“_”的正确的叙述是 ( D) A.“_”代表多个字符B.“_”可以代表零个或多个字符C.“_”不能与“ % ”一同使用D.“_”代表一个字符70、下列 SQL语句中,能够实现“收回用户ZHAO 对学生表( STUD )中学号( XH )的修改权”这一功能的是 C AREVOKE UPDATE(XH) ON TABLE FROM
25、ZHAO BREVOKE UPDATE(XH) ON TABLE FROM PUBLIC CREVOKE UPDATE(XH) ON STUD FROM ZHAO DREVOKE UPDATE(XH) ON STUD FROM PUBLIC 71、把对关系SC的属性 GRADE 的修改权授予用户ZHAO的 SQL语句是(C)A)GRANT GRADE ON SC TO ZHAO B)GRANT UPDATE ON SC TO ZHAO C)GRANT UPDATE (GRADE) ON SC TO ZHAO D)GRANT UPDATE ON SC (GRADE) TO ZHAO 二、填空题1
26、、在 SQL查询语句中,用于测试子查询是否为空的谓词是_ EXISTS _。2、在查询操作结果中不出现重复元组,应在Select子句中使用 _ DISTINCT _保留字。3、 SQL的 SELECT 语句在未使用分组子句但在SELECT 子句中使用了聚合函数。此时 SELECT子句的语句就不是投影的意思了,而是对查询结果执行聚合操作。4、数据库系统的权限控制方法分为自主存取控制和强制存取控制方法两种5、在 SQL Server 中,数据库的文件分为主数据文件 _、辅助数据文件_和_事务日志 文件三大类;6、SQL的数据操纵功能主要包括INSERT 、_UPDATE _和_DELETE _三个
27、语句。7、在字符匹配查询中,通配符“% ”代表 _任意多个字符 _, “_”代表 _任意单个字符。8、触发器是一种特殊的存储过程,它可以在对一个表上进行_插入 _、_删除 _和 _修改 _操作中的任一种或几种操作时被自动调用执行。9、视图是一个虚表,它是从一个或几个基本表中导出的表。在数据库中,只存放视图的结名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 14 页 - - - - - - - - - 构定义,不存放视图的对应的数据。三、判断题1、视图是一张虚表,所有的视图
28、中不存储数据()2、用户不允许使用视图修改表数据()3、数据库中的视图只能使用所属数据库的表,不能访问其它数据库的表()4、视图既可以通过表得到,也可以通过其它视图得到()5、 规则在创建后, 并不能直接使用, 必须绑定到表中某一列或者用户定义的数据类型上。()6、 创建规则对象后,必须把它绑定到一个列或用户定义的数据类型上才能起作用。()7、 触发器就其本质而言是一种特殊的存储过程。存储过程和触发器在数据库的开发中,在维护数据库实体完整性等方面具有不可替代的作用。()8、 现实世界的对象在数据库中用实体描述()9、 游标是系统为用户的查询结果开辟的数据缓冲区,存放SELECT语句的查询结果。
29、 ()10、在数据库系统中,核心的部分是应用程序。( ) 11、候选码可以选作主码, 但一个主码不总是候选码. ( ) 12、存储过程是存放在服务器上的预先定义与编译好的SQL语句的命名集合()13. 视图、表是一样的, 都可以进行更新操作的。 ( ) 14、触发器操作与约束有冲突时,触发器仍会执行。( )15、删除触发表时,触发器被随之删除。()16、 Order by子句仅对检索数据的显示有影响,并不改变表中行的内部顺序。()17、从一个表中删除元组时,delete和 drop table命令可以起到同样的效果。()18、与主键不同,惟一性可以是null值。 ()19、使用 having
30、子句是为了限制group by子句返回的行的个数。 ()20、在数据表定义时设置Primary key是数据库的实体完整性控制。( )21、在数据表定义时设置主键(Primary key)则不允许插入全为空的记录。()22、数据库一旦建立,就没有办法重命名了,所以命名数据库要慎重。()四、综合题1、设某商业集团关于商店销售商品的数据库中有三个基本表:商店SHOP (S#,SNAME ,AREA ,MGR_NAME)其属性是商店编号,商店名称,区域名,经理姓名。销售SALE (S#,G# , QUANTITY )其属性是商店编号,商品编号,销售数量。商品GOODS(G# , GNAME, PRI
31、CE )其属性是商品编号,商品名称,单价。(1)试写出检索销售“冰箱”的商店的编号和商店名称的SELECT 语句表达形式。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 14 页 - - - - - - - - - (2)试写出下列操作的SQL语句:从 SALE表中,把“开开商店”中销售单价高于1000 元的商品的销售元组全部删除。(3)试写出下列操作的SQL语句:统计区域名为“EAST ”的所有商店销售的每一种商品的总数量和总价值。要求显示( G#,GNAME,SUM_
32、QUANTITY,SUM_VALUE) ,其属性为商品编号、商品名称、销售数量、销售价值。1、答:解:(1)SELECT 语句如下:SELECT A.S# ,SNAME FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME=冰箱 ;(2)解: DELETE FROM SALE WHERE S# IN (SELECT S# FROM SHOP WHERE SNAME= 开开商店 ) AND G# IN (SELECT G# FROM GOODS WHERE PRICE1000 );(3)解: SELECT C.G#
33、,GNAME,SUM (QUANTITY ) AS SUM_QUANTITY,PRICE*SUM (QUANTITY )AS SUM_VALUE FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G# AND AREA=EAST GROUP BY C.G# , GNAME;(注: SELECT子句中的属性C.G#,GNAME 应在分组子句中出现)2、设数据库中有两个基本表:职工表 EMP(E#,ENAME ,AGE ,SALARY ,D#) ,其属性分别表示职工工号、姓名、年龄、工资和工作部门的编号。部门表 DEPT (D#,DNAME
34、,MGR# ), 其属性分别表示部门编号、部门名称和部门经理的职工工号。(1)试指出每个表的主键和外键。并写出每个表创建语句中的外键子句。(2)写出下列查询的关系代数表达式和SQL语句:检索每个部门经理的工资,要求显示其部门编号、部门名称、经理工号、经理姓名和经理工资。(3)建一个年龄大于50 岁的职工视图, 属性为(D# , DNAME, E#, ENAME , AGE , SALARY ) 。答: (1)EMP 表的主键为E#,外键为D# 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - -
35、 - 第 9 页,共 14 页 - - - - - - - - - DEPT 表的主键为D# ,外键为 MGR# 在 EMP表的创建语句中, 可写一个外键子句:FOREIGN KEY D# REFERENCES DEPT (D# ) ;在 DEPT表的创建语句中, 可写一个外键子句:FOREIGN KEY MGR# REFERENCES EMP(E#) ;(2)关系表达式为:DEPT.D# ,DNAME ,MGR# ,ENAME, SALARY(DEPT ? EMP)SELECT 语句为:SELECT DEPT.D# ,DNAME,MGR# ,ENAME ,SALARY FROM DEPT ,
36、EMP WHERE MGR#=E#;(3)CREATE VIEW VIEW5 AS SELECT DEPT.D# ,DNAME,E#,ENAME , AGE ,SALARY FROM DEPT ,EMP WHERE DEPT.D#=EMP.D# AND AGE50 ;3、 有图书借阅管理的数据库系统,其数据库关系模式(属性只用英文字母)为:学生(学号,姓名,系别,专业)主码为:学号图书 B (图书编号,图书名,出版日期,出版社)主码为:图书编号借阅 R(学号,图书编号,借阅日期)主码为:(学号,图书编号)外码有:学号、图书编号请写出完成下列操作的SQL语句(1)创建借阅R表,要求指定其主码和外
37、码Create table 借阅(学号 char(10) foreign key references 学生 , 图书编号 char(10) foreign key references 图书 , 借阅日期 datetime ,primary key(学号 , 图书编号 ) (2) 向借阅表增加记录( 20030101, tp201.01 , 2006/06/12 ) 。Insert into 借阅 values (20030101, tp201.01 , 2006/06/12 )(3) 将图书表的查询权授给user 用户,并允许其转授给其他人Grant select on 图书 to use
38、t with grant option (4) 、查询借阅了“数据库原理”一书的学生信息。Select * from 学生 where 学号 in (select学号 from 借阅Where 图书编号 in select 图书编号 from 图书where 图书名 =数据库原理(5) 、 查询借阅了关于数据库方面书籍的学生的学号、图书名称和出版社。 Select 学号,图书名,出版社 from 借阅 A, 图书 B where A. 学号 =B. 学号 and 图书名 like % 数据库 % MGR#=E# 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
39、- - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 14 页 - - - - - - - - - (6)查询 2006 年 5 月 1 日到 2006 年 6月 1 日期间,图书的借阅情况Select * from 借阅 where 借阅日期between 2006/05/01 and 2006/06/01 4、设教学数据库中有四个关系:教师(教师编号,教师姓名,联系电话)课程(课程号,课程名,教师编号)学生(学号,学生姓名,年龄,性别,专业)选课(学号,课程号,成绩)(1) 创建学生表和选课表,要求:指定每个表的主关键字、外部关键字和check 约束。
40、(2)将所有学生的“高等数学”课程的成绩增加10 分。Update 选课 set成绩 =成绩 +10 where 课程号 in ( select课程号 from 课程 where 课程名 =高等数学(3)将课程表的查询和修改权限授给teacher用户,同时允许转授给其它用户。 Grant select,update on 课程 to teacher with grant option (4)查询男生所学课程的课程号和课程名。Selec 课程号,课程名 FROM 学生,选课,课程 Where学生 .学号 =选课 . 学号 and 选课 . 课程号 =课程 . 课程号 and 性别=男或 Sele
41、c 课程号,课程名 FROM 课程 where 课程号 in ( Select 课程号 from 选课 where 学号 in ( Select学号 from 学生 where 性别=男 )(5) 查询所有姓王的教师所授课程的课程号和成绩(按课程号排序)。Select 选课 . 课程号 , 成绩 from 教师,课程,选课 where 教师姓名like 王% And 教师 . 教师编号 =课程 . 教师编号 and 课程 . 课程号 =选课 . 课程号 order by 课程号(6)统计每门课程的学生选修人数(超过10 人的课程才统计)。要求显示课程号和人数,查询结果按人数降序排列。 Sele
42、ct 课程号 ,count(学号 ) 人数 from 选课 group by课程号 having count(*)10 order by 人数 desc (7) 检索所有姓“李”的学生的姓名和年龄Select 学生姓名,年龄 from 学生 where 学生姓名like 李% (8) 求男生的最高成绩 Select max(成绩 ) from 选课 where 学号 in (select 学号 from 学生Where 性别=男)5、已知有关系:仓库(仓库号,城市,面积)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
43、理 - - - - - - - 第 11 页,共 14 页 - - - - - - - - - 职工(仓库号,职工号,工资)订购单(职工号,供应商号,订购单号,订购日期)供应商(供应商号,供应商名,地址)(1)创建订购单表,要求:数据类型及长度自定义,并指定其主码和外码Create table 订购单表(职工号 char(10) foreign key references职工,供应商号 char(10) foreign key references供应商,订购单号 char(10) primary key,订购日期 datetime) (2)修改职工表,增加一个职工名(可变长字符型,最长为2
44、0)字段Alter 职工表 add 职工名 varchar(20) (3) 向订购单表中增加一条记录, 记录值为:(ZG0001 ,GY0001 , DD0001 , 2006/06/12 )Insert into 订购单表 values (ZG0001 ,GY0001 , DD0001 , 2006/06/12 )(4) 给低于所有职工平均工资的职工提高10% 的工资。UPDATE 职工 SET 工资 =工资 *1.1 WHERE 工资 (SELECT AVG(工资 ) FROM 职工 ) (5) 删除所有目前没有任何订购单的供应商。DELETE FROM 供应商 WHERE 供应商号 NO
45、T IN (SELECT 供应商号 FROM 订购单 ) (6)将职工表的查询权授给USER用户,并允许其转授给其他人Grant select on职工表 to USER with grant option (7)检索出向供应商S3 发过订购单的职工的职工号和仓库号。SELECT 职工号 , 仓库号 FROM 职工 WHERE 职工号 IN ( SELECT 职工号 FROM 订购单 WHERE 供应商号 =S3 ) (8)检索出目前没有任何订购单的供应商信息。SELECT * FROM 供应商 WHERE NOT EXISTS ( SELECT * FROM 订购单 WHERE 供应商号 =
46、供应商 . 供应商号 ) (9)检索出和职工E1、 E3都有联系的北京的供应商信息。SELECT * FROM 供应商 WHERE 供应商号 IN ( SELECT 供应商号 FROM 订购单 WHERE 职工号 =E1 ) AND 供应商号 IN ( SELECT 供应商号 FROM 订购单 WHERE 职工号 =E3 ) (10)检索出目前和华通电子公司有业务联系的每个职工的工资。SELECT 职工号 , 工资 FROM 职工 WHERE 职工号 IN (SELECT 职工号 FROM 订购单 WHERE 供应商号 IN 名师资料总结 - - -精品资料欢迎下载 - - - - - - -
47、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 14 页 - - - - - - - - - (SELECT 供应商号 FROM 供应商 WHERE 供应商名 =华通电子公司) (11) 检索出与工资在1220 元以下的职工没有联系的供应商的名称。SELECT 供应商名 FROM 供应商 WHERE 供应商号 IN (SELECT 供应商号 FROM 订购单 WHERE 职工号 NOT IN (SELECT 职工号 FROM 职工 WHERE 工资 1230) AND 供应商号 IN (SELECT 供应商号 FROM 供应商 WHER
48、E 地址 =北京 ) (16)检索出有最大面积的仓库信息。SELECT * FROM 仓库 WHERE 面积 =(SELECT MAX(面积 ) FROM 仓库 ) (17)检索出向S4供应商发出订购单的那些仓库的平均面积。SELECT AVG( 面积 ) FROM 仓库 WHERE 仓库号 IN (SELECT 仓库号 FROM 职工 WHERE 职工号 IN (SELECT 职工号 FROM 订购单 WHERE 供应商号 =S4) (18)检索出每个城市的供应商个数。SELECT 地址 ,COUNT(*) FROM 供应商 GROUP BY 地址(19)检索出和面积最小的仓库有联系的供应商
49、的个数。SELECT COUNT(*) FROM 供应商 WHERE 供应商号 IN (SELECT 供应商号 FROM 订购单 WHERE 职工号 IN (SELECT 职工号 FROM 职工 WHERE 仓库号 IN (SELECT 仓库号 FROM 仓库 WHERE 面积 = 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 14 页 - - - - - - - - - (SELECT MIN(面积 ) FROM 仓库 ) (20)插入一个新的供应商元组(S9,智通公司,沈阳) 。INSERT INTO 供应商 VALUES(S9, 智通公司 , 沈阳 ) (21)删除由在上海仓库工作的职工发出的所有订购单。DELETE FROM 订购单 WHERE 职工号 IN (SELECT 职工号 FROM 职工 WHERE 仓库号 IN (SELECT 仓库号 FROM 仓库 WHERE 城市 =上海 )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 14 页 - - - - - - - - -
限制150内