数据库考试题及答案桂林电子科技大学(桂林电子科技大学数据库实验报告)求桂林电子科技大学2018年图书馆测试答案我做了好多遍才刚刚及格(80分)我把我做对的给你吧, 多选题 1AB 8 CD 10ABCD 12ABCD 12ABCD 13BCE 14ABDE 15BC 单选 1~10BCBBBBBCCC 11~20BAAAAABBAB 21~25AAAAE 就这样了,及格就行,当然,你想更高分就慢慢摸索吧,反正我是要炸了 数据库考试题,跪求答案在数据库系统中,空值是(什么也没有)。 解释: 所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一个字节都没有。在数据库里是严格区分的,任何数跟NULL进行运算都是NULL, 判断值是否等于NULL,不能简单用=,而要用IS关键字。 空 (NULL) 值表示数值未知(在实际意义中,如果使用null,就是代表变量值是未知的,比如手机号码设为null,说明不知道手机号码是什么)。空值不同于空白或零值。没有两个相等的空值。比较两个空值或将空值与任何其它数值相比均返回未知,这是因为每个空值均为未知。 在写入数据的时候,空字符串也是一个确定的值,所以就算定义了 NOT NULL 也可以被写入。 IBM认证数据库考试试题(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在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。 考察:UNION 的理解 答案: A (3)、 已知表T1含有字段ID、CourseID和Score,且数据为 ID CourseID Score 3 1 90 2 1 85 2 2 90 3 2 80 则语句“select id,sum(ScorE) from T1 group by ID”的执行结果为_________ A、 ID sum(ScorE) —– ? ———- 3 ? 170 2 ? 175 B、 ID sum(ScorE) —– ? ———- 2 ? 175 3 ? 170 C、 ID sum(ScorE) —– ? ———- 2 ? 170 3 ? 175 D、 ID sum(ScorE) —– ? ———- 3 ? 175 2 170 第三题 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 phoneno ‘321A’ B、 select count(*) from t_phonebook where phoneno like ‘321%’ C、 select count(*) from t_phonebook where substring(phoneno,1,3) = ‘321’ A或者操作符会采用索引查找 B:LIKE通配符在XXX%情况下会应用索引,如果在%xxx%等情况下不会应用索引 答案: C:采用函数处理的字段不能利用索引,例如substr()? 这个题好像写成java的函数了 答案: C (5)、已知表tbl中字段land_ID建有索引,字段cust_id建有唯一索引,下列语句查询逻辑相同,其中执行效率最优的是 A、 SELECT * FROM tbl WHERE land_id 750 or (cust_id=180 or cust_id=560) B、 SELECT * FROM tbl WHERE (cust_id=180 or cust_id=560) or land_id 750 C、 SELECT * FROM tbl WHERE land_id 750 UNION SELECT * FROM tbl WHERE cust_id = 180 UNION SELECT * FROM tbl WHERE cust_id = 560 D、 SELECT * FROM tbl WHERE land_id 750 UNION ( SELECT * FROM tbl WHERE cust_id = 180 UNION ALL SELECT * FROM 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 Staffskill 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 staff D、 select staff from Staffskill where skill=’A’ OR skill=’B’ group by staff having count(*)1 答案:D (7)员工表staff表结构如下 staffNo varchar2(10), Email varchar2(50) 哪一个SQL语句查询出没有E_mail地址的员工号 A、select staffno from Staff where Email = NULL B、select staffno from Staff where Email NULL C、select staffno from Staff where Email is null D、select staffno from Staff where Email is not null 答案: C (8)Oracle数据库启动步骤的顺序为 1.Mount? 2.Open? 3.Nomount A、3-1-2 B、2-3-1 C、2-1-3 D、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 col1,col2,col3 from T1; 答案: D 10)一个表的字段为varchar2,如果建表时没有指定长度,则默认长度为: A、1 B、25 C、38 D、255 E、4000 F、建表时varchar2类型字段必须指定长度 答案:F (11)用TRUNCATE和DELETE语句删除表中数据的区别? A、TRUNCATE命令不记录日志 B、TRUNCATE命令记录日志 C、DELETE命令不记录日志 答案:A (12)如下查询语句SELECT id_number,100/quantity from inventory如果quantity为空,则查询语句的第二个字段将返回 A、 a space B、 a null value C、 a value of 0 D、 a value of 100 E、 the keywork null 答案:B (13)如下语句:SELECT i.id_number,m.id_number FROM inventory i,manufacturer m WHERE i.manufacturer_id = m.id_number Order by inventory.description 执行时是错误的,请问以下措施哪个能够改正这个错误? A 在order by的子句中使用表的别名 B 在where子句中去掉表的别名 C 在where子句中用表名代替表的别名 D 在order by子句中去掉表名,只要字段名称即可 (如果2张表中,不同时存在字段名为description的话,D答案也是正确的) 答案:A 14)A表字段a 类型int中有100条记录,值分别为1至100。如下语句 SELECT a FROM A WHERE A BETWEEN 1 AND 50 OR (A IN (25,70,95) AND A BETWEEN 25 AND 75) 则如下哪个值在这个sql语句返回的结果集中 A、30? B、51? C、75? D、95 答案:A 15) 变量v_time = ‘23-MAY-00’,如下那条语句返回值为‘01-JAN-00’? A SELECT ROUND(V_TIME,’DAY’) FROM DUAL; B 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; 答案:B 16)关于索引(index)的说法哪些是错误? A、创建索引能提高数据插入的性能 B、索引应该根据具体的检索需求来创建,在选择性好的列上创建索引 C、索引并非越多越好 D、建立索引可使检索操作更迅速 答案: A (17)指出下面sql语句的错误之处: select id_number “Part Number”,sum(price) “price” from inventory where price 50 group by “Part Number” order by 2; A、order by 2 B、from inventory C、 where price 50 D、group by “Part Number” 答案:D (18)如下语句 if v_num 5 then v_example := 1; elsif v_num 10 then v_example := 2; elsif v_num 20 then v_example := 3; elsif v_num 39 then v_example := 4; else? v_example := 5; 如果v_num = 37,则v_example的值是多少? A、1 ? B、2 C、3 D、4 E、5 答案:A 数据库关系代数运算试题及答案var baseText3=null function srsd(){ var popUp3=document.getElementById("popupcontent3"); popUp3.style.top=""; popUp3.style.left=""; if (baseText3==null){ baseText3=popUp3.innerHTML; popUp3.innerHTML=baseText3+"div id="statusbar3"a onclick="hidePopup3();" /a/div"; } |