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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

一套数据库笔试题.docx

1、一套数据库笔试题 一套数据库笔试题(1)已知表T1中有2行数据,T2中有3行数据,执行SQL语句“select a.* from T1 a,T2 b”后,返回的行数为_A、2行B、3行C、5行D、6行多表查询没有指定连接条件,会导致笛卡尔积的出现,返回行数等于2张表的行数乘积,返回6行记录考察:对多表连接、笛卡尔积的理解答案:A(2)、已知表T1和T2的字段定义完全相同,T1,T2中各有5条不同的数据,其中T1有2条数据存在于表T2中,语句“select * from T1 union select * from T2”返回的行数为_A、8行B、10行C、3行D、12行第二题 UNION在进行

2、表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。考察:UNION 的理解答案: A(3)、 已知表T1含有字段ID、CourseID和Score,且数据为IDCourseIDScore3190218522903280则语句“select id,sum(ScorE) from T1 group by ID”的执行结果为_A、 ID sum(ScorE) -3 1702 175B、 ID sum(ScorE) -2 1753 170C、 ID sum(ScorE) -2 1703 175D、 ID sum(ScorE) -3 1752 170第三

3、题 GROUP BY 对按照ID字段进行分组,同时对ID相同字段的ScorE进行求和,GROUP by 会自动对结果集进行排序所以答案选B考察:group by 的理解答案: B(4)、电话号码表t_phonebook中含有100万条数据,其中号码字段PhoneNo上创建了唯一索引,且电话号码全部由数字组成,要统计号码头为321的电话号码的数量,下面写法执行速度最慢的是_A、 select count(*) from t_phonebook where phoneno = 321 and phonenoB、 select count(*) from t_phonebook where phon

4、eno like 321%C、 select count(*) from t_phonebook where substring(phoneno,1,3) = 321A或者B:LIKE通配符在XXX情况下会应用索引,如果在xxx等情况下不会应用索引答案: C:采用函数处理的字段不能利用索引,例如substr() 这个题好像写成java的函数了答案: C(5)、已知表tbl中字段land_ID建有索引,字段cust_id建有唯一索引,下列语句查询逻辑相同,其中执行效率最优的是A、 SELECT * FROM tblWHERE land_id 750or (cust_id=180 or cust_

5、id=560)B、 SELECT * FROM tblWHERE (cust_id=180 or cust_id=560)or land_id 750C、 SELECT * FROM tbl WHERE land_id 750UNIONSELECT * FROM tbl WHERE cust_id = 180UNIONSELECT * FROM tbl WHERE cust_id = 560D、 SELECT * FROM tbl WHERE land_id 750UNION( SELECT * FROM tbl WHERE cust_id = 180UNION ALLSELECT * FRO

6、M tbl WHERE cust_id = 560)C/D相比较而言,D的执行效率更高一些UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录采用UNION ALL操作符替代UNION,因为UNION ALL操作只是简单的将两个结果合并后就返回。(6)、员工技能表Staffskill结构如下,Staff和Skill字段建有唯一约束staff VARCHAR2(10),skill VARCHAR2(10)哪条语句可以查询同时拥有技能A和技能B的员工A、 select staff from Staf

7、fskill where skill= A OR skill= B B、 select staff from Staffskill where skill= A AND skill= B C、 select staff from Staffskill where skill= A OR skill= B group by staffD、 select staff from Staffskill where skill= A OR skill= B group by staff having count(*)1答案:D(7)员工表staff表结构如下staffNo varchar2(10),Em

8、ail varchar2(50)哪一个SQL语句查询出没有E_mail地址的员工号A、select staffno from Staff where Email = NULLB、select staffno from Staff where Email NULLC、select staffno from Staff where Email is nullD、select staffno from Staff where Email is not null答案: C(8)Oracle数据库启动步骤的顺序为1.Mount 2.Open 3.NomountA、3-1-2B、2-3-1C、2-1-3D

9、、3-2-1答案:A(9)存在两个结构相同的数据库表T1(col1,col2,col3)、T2(col1,col2,col3),写出一SQL语句将所有T1数据导入到T2表A、select col1,col2,col3 from T1 INTO T2 (col1,col2,col3)B、INSERT T1 (col1,col2,col3) INTO T2(col1,col2,col3)C、insert into T2 (col1,col2,col3) AS select col1,col2,col3 from T1;D、insert into T2 (col1,col2,col3) select

10、 col1,col2,col3 from T1;答案: D10)一个表的字段为varchar2,如果建表时没有指定长度,则默认长度为:A、1B、25C、38D、255E、4000F、建表时varchar2类型字段必须指定长度答案:F(11)用TRUNCATE和DELETE语句删除表中数据的区别 A、TRUNCATE命令不记录日志B、TRUNCATE命令记录日志C、DELETE命令不记录日志答案:A(12)如下查询语句SELECT id_number,100/quantity from inventory如果quantity为空,则查询语句的第二个字段将返回A、 a spaceB、 a null

11、 valueC、 a value of 0D、 a value of 100E、 the keywork null答案:B(13)如下语句:SELECT i.id_number,m.id_number FROM inventory i,manufacturer mWHERE i.manufacturer_id = m.id_numberOrder by inventory.description执行时是错误的,请问以下措施哪个能够改正这个错误 A 在order by的子句中使用表的别名B 在where子句中去掉表的别名C 在where子句中用表名代替表的别名D 在order by子句中去掉表名

12、,只要字段名称即可(如果2张表中,不同时存在字段名为description的话,D答案也是正确的)答案:A14)A表字段a 类型int中有100条记录,值分别为1至100。如下语句SELECT a FROM AWHERE A BETWEEN 1 AND 50OR (A IN (25,70,95)AND A BETWEEN 25 AND 75)则如下哪个值在这个sql语句返回的结果集中A、30 B、51 C、75 D、95答案:A15) 变量v_time = 23-MAY-00,如下那条语句返回值为01-JAN-00 A SELECT ROUND(V_TIME,DAY) FROM DUAL;B

13、SELECT ROUND(V_TIME,YEAR) FROM DUAL;C SELECT ROUND(V_TIME,MONTH) FROM DUAL;D SELECT ROUND(TO_CHAR(V_TIME,YYYY) FROM DUAL;答案:B16)关于索引(index)的说法哪些是错误 A、创建索引能提高数据插入的性能B、索引应该根据具体的检索需求来创建,在选择性好的列上创建索引C、索引并非越多越好D、建立索引可使检索操作更迅速答案: A(17)指出下面sql语句的错误之处:select id_number “Part Number”,sum(price) “price” from i

14、nventorywhere price 50group by “Part Number”order by 2;A、order by 2B、from inventoryC、 where price 50D、group by “Part Number”答案:D(18)如下语句if v_num 5 thenv_example := 1;elsif v_num 10 thenv_example := 2;elsif v_numv_example := 3;elsif v_numv_example := 4;else v_example := 5;如果v_num = 37,则v_example的值是多少

15、 A、1 B、2 C、3 D、4 E、5答案:A(19)如下语句:beginfor i in 1.8 loopif i=2 thennull;elseif i=5 thenrollback;elseif i =8 thencommit;elseinsert into texample(A) values(i);end if;end if;end if;end loop;commit;end;执行该语句后将有几条记录插入到表texample表中 A1 B2 C3 D4答案:B(20)设计一表结构,某字段要求存放员工编号,为固定10位长字符,采用哪种类型字段A、CHARB、LONGC、VARCHA

16、RD、varray答案:A二、填空编程题(1)、已知T1包含字段ID、ID2,T2包含字段ID,请在空白处完成SQL语句,查询表T1字段ID2取值存在于T2的ID取值集合中。select * from T1 A where _ (select * from T2 B where B.ID = A.ID2)select * from T1 A where A.ID _ (select ID from T2 B)select A.* from T1 A, T2 B where A.ID2 _ B.ID答案: 1)ID2 in 2) 3) =select * from T1 A where _ Ex

17、ists_ (select * from T2 B where B.ID = A.ID2)select * from T1 A where A.ID _in_ (select ID from T2 B)select A.* from T1 A, T2 B where A.ID2 _ B.ID(2)Oracle创建表时指定了以下的存储参数:initial 50Knext 20Kpctincrease 10则这个表第三次扩展分配的空间大小为_答案:22k(3)、已知表T1包含字段ID,对同一个ID的取值,可能存在多条数据,请在空白处完成SQL语句,查询T1中对应有大于1条数据ID及其对应数据的条数

18、。select ID,count(*) from T1 group by ID _答案: HAVING COUNT(*)1(4)、已知表T1、T2和T3的结构和数据如下T1NameIDCourseIDScore1190128521752295T2IDCourse1数学2语文 T3IDName1张三2李四请写出查询的SQL语句,使得查询的结果为:Name Course Score 张三 数学 90张三 语文 85李四 数学 75李四 语文 95答案: select Name,Course,Score from T1,T2,T3 where T3.ID=T1.NameID and T1.Cours

19、eID=T2.ID(5)、为了统计图书馆的每天的借出和还书的次数,定义了表T1,结构如下字段名称类型说明DateStrvarchar(10)日期OprTypeinteger操作类型,0代表借,1代表还OprCountinteger操作次数已知表中没有数据,请写一个更新T1表的存储过程,每一个借出或还书的操作都调用该存储过程来更新统计数据,输入参数为:操作时间,操作类型。答案(T-SQL): 利用存储过程查找看本日期和操作类型有没有数据,如果没有则插入数据,如果有则更新数据使操作次数加1create or replace procedure update_pro(v_DateStr in var

20、char,v_OprType in integer) asvv_DateStr T1.DateStr%type;vv_OprType T1.OprType%type;cursor my_cursor is(select DateStr,OprType,OprCount from T1 where DateStr= v_DateStr and OprType= v_OprType); 声明游标beginopen my_cursor;fetch my_cursor into vv_DateStr,vv_OprType;if my_cursor%notfound theninsert into T1

21、(DateStr,OprType,OprCount) values(v_DateStr,v_OprType,1);elseupdate T1 set OprCount=OprCount+1 where DateStr=v_DateStr and OprType=v_OprType;end if;commit;close my_cursor;end;(6)、表T1中有字段Field1,类型为varchar(20),请在T1上创建一个约束,保证Field1的前三个字符的取值为“aaa”、“bbb”或者“ccc”。答案:答案:ALTER TABLE T1ADD CONSTRAINTS CHK_FIL

22、ED CHECK (Field1 likeaaa%or Field1 likebbb%or Field1 like ccc%);想不出更加简练的表达式,或许还有更好实现发放(7)、某大型商场的数据库中有一个日志表t_Log,它记录了每日的商品交易日志,t_Log包含了字段LogDatetime记录日志的生成时间,每日的日志数据为20,00040,000条之间。后发现日志表数据量过于庞大,需要删除6个月前的历史日志数据约3,000,000行。请综合考虑性能等因素,写出删除历史数据的SQL语句。答案(T-SQL):此题应用存储过程分批删除并提交,如下是每次删除10000create or repl

23、ace procedure Del_pro asv_Boolean Boolean :=true;v_count integer :=0;beginwhile v_Boolean loopdelete from t_Log where Add_months(LogDateTime,6)commit;select count(*) into v_count from t_log where Add_months(LogDateTime,6)if v_count=0 thenv_Boolean=false;end if;end loop;end;数据量比较大的情况,可以考虑分批删除,效率会高一些。可使用循环控制语句中,使用rownum(8)、请写出oracle的SGA区的几个组成部分(只写出4个主要部分即可)。答案:Shared pool(共享池),DataBase Buffer Cache(数据缓冲区)Redo Log Buffer(重做日志缓冲区), Large Pool(9)、请写出ORACLE数据库表空间中的区管理(EXTENT MANAGEMENT)两种方式。答案:字典管理方式和本地管理方式(10)、请写出你所知道的几个需要排序的DML的操作。Select 语句Order by另外在查询语句中where子句中,判断函数尽量不要放在左边

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

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