Java Interview SQL

更新时间:2023-09-26 12:05:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

-------------------------------------------------------------------------------------------------------------- PartOne

1、你为一个已经存在的数据库应用添加新的功能。升级后,这个应用的用户报告说性能变慢了。这个新的功能执行多重存储过程和动态SQL语句。你想要确定一些精确的查询,这些查询遇到非常长的执行时间。你要怎么做? a.运行SQL Server 调谐向导

b.创建一个SQL Profiler trace,这个SQL Profiler trace 使用最少的执行时间和应用 c.使用SQL Server EM的当前的活动对话框来列出当前用户的任务和对象块

d.使用SP_Monitor 存储过程来监控CPU的忙碌情况和to-Busy列,在加新功能之前和之后

2、一个表的设计采用了父/子关系模式。Parent表将有1百万条记录,而child则有1亿条记录。总计数据存于子表中,详细的子报告很少用到。怎么样设计?

a.按现在的样子实现设计。b.在父表中创建额外的属性。c.在父表中创建总计数据列。 d.在子表中为外码创建约束。e.在子表中为外码创建索引。

3、评价这条语句: USE hr SELECT department_id, SUM(salary) FROM employee GROUP BY department_id HAVING emp_id > 2001 哪个子句会导致语句执行失败? a.SELECT department_id, SUM(salary)。 b.FROM employee。

c.GROUP BY department_id。 d.HAVING emp_id > 2001。

4、查询的WHERE子句包括在栏A、B、C上搜寻。栏A是几乎与所有行一致。栏 B 是与大约50% 的列一致,栏 C语言是与大约 10% 的列一致。你应该如何产生索引?

a.在栏A、B、C上产生复合聚簇索引b.在栏 C、B、A上产生复合聚簇索引 c.在栏A、B、C上产生复合非聚簇索引d.在栏 C、B、A上创建复合非聚簇索引

e.在栏A上创建复合聚簇索引,在栏B和栏C语言创建非聚簇索引f.产生单个的非聚簇索引在每个栏上

5、你使数据库应用程序的备份和恢复进程自动进行。数据库恢复后,你发现使用FREETEXT和CONTAINS关键字的查询不再出现在该出现的地方,怎么办?

a.修改查询,用 LIKE代替 FREETEXT和CONTAINS

b.修改查询,用FREETEXTABLE和CONTAINSTABLE代替FREETEXT和CONTAINS c.在备份和恢复任务中加入数据库的全文本目录

d.在恢复进程中增加一个任务,从而重建和重置全文本目录

6、建立存储过程PSel,要求选中stu表中的所有内容。使用以下的语句: create ___ ___ as ___ * from ___ (如果表stu在数据库中不存在,则先使用以下语句建立表stu并插入数据:

create table stu (id varchar(20));insert into stu values('stu0001'))

7、创建触发器Tristu,当stu表被更新时显示“stu表被更新”,使用以下语句: create ___ ___ on ___ for ___ as print \(如果表stu不存在,则先使用语句create table stu (id varchar(20))建立stu表) 8、利用查询分析器在用户数据库中创建表usetest,其中包含字段

userid(int),name(varchar(10)),city(varchar(10)),address(varchar(10)),zipcode(char(7)).

9、对usetest表进行修改,增加一个birthday(datetime)列,修改city列为varchar(20),并且删除zipcode列。 答案: 1-5:bcdbd 6-9(Oracle):

create proc PSel as select * from stu;

create trigger Tristu on stu for updatae as print \表被更新\create table usetest( )

alter table usetest add birthday datetime; alter table usetest modify city varchar(20);

-------------------------------------------------------------------------------------------------------------- PartTwo

1.关于update语句中的where子句,哪个说法是正确的? a. 可以使用任何表达式b. where子句中不能使用子查询

c. where子句中不能使用单行函数d. where子句中不能以表达式的形式使用表达式 2.在update语句中,更改列值的关键字是? a. order by b. set c. where d. update

3.如何删除sales表中产品类型为toys的profits列的列值?

a. UPDATE sales SET profits = NULL WHERE product_type = 'TOYS'; b. DELETE profits FROM sales WHERE product_type = 'TOYS'; c. DELETE FROM sales WHERE product_type = 'TOYS'; d. DELETE FROM sales;

4.下列哪个命令出现在事务处理的开头位置,用来设置事务处理的特性? a. set transaction b. rollback c. savepoint d. commit

5.用户JANKO将一条记录插入到employee 表中,该表有三列:empid,lastname和salary,该记录empid列值为59694, lastname列值为HARRIS,salary列没有值。下列哪个语句是正确的? a. INSERT INTO employee VALUES (59694,'HARRIS');

b. INSERT INTO employee VALUES (59694,'HARRIS', NULL); c. INSERT INTO employee (select 59694 from 'HARRIS');

d. INSERT INTO employee (EMPID, LASTNAME, SALARY) values (59694,'HARRIS');

6.使用下列代码回答问题: CREATE OR REPLACE VIEW emp_view AS (SELECT empno, ename, job, deptno FROM emp WHERE job = 'MANAGER') WITH CHECK OPTION; SELECT * FROM emp_view; EMPNO ENAME JOB DEPTNO ------- ------- ---------- -------- 7566 JONES MANAGER 20 7698 BLAKE MANAGER 30 7782 CLARK MANAGER 10 下列哪条语句是错误的?

a. UPDATE emp SET deptno = 30 WHERE job = 'MANAGER' AND empno = 7782; b. UPDATE emp SET empno = 7999 WHERE job = 'MANAGER' AND deptno = 10;

c. UPDATE emp SET ename = 'BARNEY' WHERE job = 'MANAGER' AND ename = 'JONES'; d. UPDATE emp SET job = 'ANALYST' WHERE job = 'MANAGER' AND empno = 7566;

7.使用下列代码回答问题: CREATE OR REPLACE VIEW emp_view AS (SELECT empno, ename, job, deptno FROM emp WHERE job = 'MANAGER') WITH READ ONLY; 下列哪个语句将更改emp表的数据? a. DELETE FROM emp_view WHERE ename = 'KING';

b. UPDATE emp_view SET ename = 'JOHNSON' WHERE empno = 7844; c. INSERT INTO emp_view VALUES (2134, 'SMITHERS','MANAGER',10); d. 以上答案均不正确

8.数据库中与销售有关的表有四个: PROFITS表列出了每个产品的利润,包含产品名,类型,销售地区和季度信

userid int, name varchar(10), city varchar(10), address varchar(10), zipcode char(7)

息;PRODUCT_TYPES表列出了产品的类型信息;PRICES表列出每个产品的价格信息;UNIT_SALES列出各季度销售产品的数量信息。使用下列代码创建一个视图: CREATE OR REPLACE VIEW profits_view AS (SELECT a.product_name, a.product_type, b.product_desc, c.product_price, d.unit_sale, a.quarter FROM profits a, product_types b, prices c, unit_sales d WHERE a.product_type = b.product_type AND a.product_name = c.product_name AND a.product_name = d.product_name AND a.quarter = d.quarter); 假定所有完整性约束已经发挥作用, 视图中哪个表是非键保护表? a. PRICES b. PROFITS c. UNIT_SALES d. PRODUCT_TYPES

9.用户经常查询雇员工资增长12%的情况,为提高性能需要建立一个索引,下列那条语句比较合适? a. create index my_idx_1 on employee (salary) reverse; b. create bitmap index my_idx_1 on employee (salary); c. create index my_idx_1 on employee (salary * 1.12); d. create unique index my_idx_1 on employee (salary);

10.用户为美国社会保障系统应用中在US_GOVT_SS 表的SS_NUM 列上创建索引,下列哪条语句比较合适? a. create unique index my_idx_1 on US_govt_SS (ss_num); b. create index my_idx_1 on US_govt_SS (ss_num); c. create bitmap index my_idx_1 on US_govt_SS (ss_num); d. create index my_idx_1 on US_govt_SS (ss_num) reverse; 11.在删除表时,如果该表有non-unique索引,那么对索引有何影响? a. 没影响b. 索引将被删除c. 索引将被标志为无效d. 索引将包含空值 12.如何给视图增加新列?

a. 将视图与子查询联结起来b. 用alter view 语句

c. 给与视图有关的表增加新列d. 删除并重建包含新列的视图 13.下列哪个创建序列的参数是正确的?

a. using temporary tablespace b. identified by c. maxvalue d. on delete cascade

14.create view EMP_VIEW_01 as select E.EMPID, E.LASTNAME, E.FIRSTNAME, A.ADDRESS from EMPLOYEE E, EMPL_ADDRESS A where E.EMPID = A.EMPID with check option; 哪一行将产生错误? a. from EMPLOYEE E, EMPL_ADDRESS A b. This statement contains no errors.

c. as select E.EMPID, E.LASTNAME, E.FIRSTNAME, A.ADDRESS d. create view EMP_VIEW_01 e. where E.EMPID = A.EMPID

15.INVENTORY表有三列UPC_CODE, UNITS和DELIV_DATE. 主键是UPC_CODE. 每天通过下面视图插入新记录: Create view day_inventory_vw as select * from inventory where deliv_date = sysdate with check option; 当试图在表中插入一条与已有UPC_CODE相同的记录时?

a. 插入成功b. 由于有with check option子句,插入失败 c. 由于有主键约束,插入失败d. 插入成功,但日期列为空 16.当删除表时,下列哪个语句将删除与该表有关的所有索引? a. drop view b. drop index

c. alter table d. alter table drop constraint

17.用户IMADBA给新进员工DAVIS创建表的权限,下列哪项步骤不是必要的? a. create user davis identified by new_employee;

b. grant create session to davis; c. grant create table to davis;

d. grant create public synonym to davis; 18.给用户定义缺省角色时,下列哪种情况不行? a. 当角色有对象权限时b. 当角色有密码时

c. 当角色有系统权限时d. 当角色被授予另外角色时

19.下列哪个对象权限允许其他用户在创建他的表时能将外键建立在你的表列上? a. references b. select c. index d. delete

20.授予用户TIMOTHY更改emp表数据的权限,并负责该权限的管理,应该如何做? a. grant update on emp to timothy with grant option; b. grant update on emp to timothy; c. grant update to timothy;

d. grant update on emp to timothy with admin option; 21.下列哪个说法是错误的?

a. 权限能被授予给角色b. 角色能被授予给其他角色 c. 角色能被授予给用户d. 角色能被授予给同义词 22.为连接到数据库,下列哪项是不必要的? a. 授予创建表的权限b. 授予创建session的权限 c. 授予CONNECT角色d. 使用create user语句 23.要指定一个列的别名,下面哪一项描述是正确的

a. 把别名放在语句的开始来描述一个表。b. 把别名放在每一个列后, 使用空格分开来描述列。 c. 把别名放在每一个列后, 使用逗号分开来描述列。d. 把别名放在语句的结尾,来描述一个表。

24.PLAYS表中含有两个列play_name 和 author,如果想从表中得到下面的输出结果,以下哪一个SQL语句是正确的。 PLAY_TABLE 仲夏之梦,莎士比亚等待Godot ,毕科特玻璃宠物园,威廉斯 a. SELECT play_name|| author FROM plays; b. SELECT play_name, author FROM plays; c. SELECT play_name||', ' || author FROM plays;

d. SELECT play_name||', ' || author PLAY_TABLE FROM plays; 25.以下哪一句语句是错误的?

a. SELECT * FROM emp WHERE empid = 493945; b. SELECT empid FROM emp WHERE empid = 493945; c. SELECT empid FROM emp;

d. SELECT empid WHERE empid = 56949 AND lastname = 'smith'; 26.下列哪些关键词是可被在ORDER BY子句中使用的? a. ABS 和ASC b. ASC 和DESC c. DESC 和DISC d. DISC 和ABS

27.以下哪些语句对于ORDER BY 子句的描述是错误的? a. 可使用 ASC或 DESC 关键词来定义升或降排序。 b. 仅一个列可在ORDER BY 子句中被排序 c. 可有多个列在ORDER BY子句中可被排序

d. 在带ORDER BY 子句的SELECT 语句中,列可以通过数字来指示它们的顺序。 28.下面哪个HAVING子句的用法是不合适的?

a. 把返回的数据排序b. 排除基于已知标准的特定数据组

c. 包含基于未知标准的特定的数据组d. 包含基于已知标准的确定的数据组 29.alter table sales drop column profit; 从表中如何真正删除该列? a. 执行该语句时立刻删除b. 在该语句修改之后

c. 在该语句删除未用的列之后d. 在该语句设置未用的列之后

30.将非空列的类型长度由NUMBER(10) 改为NUMBER(6),在alter 语句后还有什么步骤? a. 创建一个临时的地方保存NUMBER数据b. 将所有记录的该列值设置为空 c. 将该列值复制到一个临时空间d. 将该列值从临时空间复制到表 31.下列哪个表名是不合法的? a. FLOP_TEST_#3 b. P$$#_LOC c. TEST_NUMBER d. 1_COPY_OF_EMP 32.省略delete语句中的where子句如何?

a. delete语句不能有where子句b. delete语句将提示用户输入删除条件 c. delete语句将删除表中的所有记录d. delete语句将会出错

33.插入一条记录的EMPID 59694,LASTNAME Harris,但是没有工资,下面哪个是正确的? a. INSERT INTO employee VALUES (59694,'HARRIS'); b. INSERT INTO employee (SELECT 59694 FROM 'HARRIS'); c. INSERT INTO employee VALUES (59694,'HARRIS', NULL);

d. INSERT INTO employee (empid, lastname, salary) VALUES (59694,'HARRIS');

34.NAME AGE COUNTRY --------- ----- --------------- BERTRAND 24 FRANCE GONZALEZ 29 SPAIN HEINRICH 22 GERMANY TAN 39 CHINA SVENSKY 30 RUSSIA SOO 21 SELECT name FROM contestant WHERE (country, age) IN ( SELECT country, min(age) FROM contestant GROUP BY country); 上面查询不能查询到哪个运动员? a. SOO b. GONZALEZ c. HEINRICH d. BERTRAND

35.SELECT name, age, country FROM contestant WHERE (country, age) IN ( SELECT country, min(age) FROM contestant GROUP BY country); 上面的查询是什么类型,结果是查询什么?

a. 多行子查询,所有国家的最年轻的运动员b. 多列子查询,所有国家的最年轻的运动员 c. 单行子查询,一个国家的最年轻的运动员d. 多列子查询,上面的查询有错误 36.下列哪个查询能显示奖牌数超过10的国家?

a. SELECT name FROM contestant WHERE country c \ \

b. SELECT name FROM contestant c, medals m WHERE c.country \

c. SELECT name FROM contestant WHERE country IN (SELECT country FROM medals WHERE num_gold \ num_silver \

d. SELECT name FROM contestant WHERE country c IN (SELECT country FROM medals m WHERE c.country \ m.county)

37.select语句用来表示置换变量的字符是? a. * b. ' c. ( d. &

本文来源:https://www.bwwdw.com/article/fiqd.html

Top