欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    oralce题库及答案.doc

    • 资源ID:10624132       资源大小:128KB        全文页数:32页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    oralce题库及答案.doc

    一、选择题1.当你执行以下查询语句:SELECT empno,ename FROM emp WHERE empno =7782 OR empno =7876; 在WHERE语句中,以下哪个操作符可以取代OR?A. INB. BETWEEN C. LIKED. <=E. >=2. 以下哪行有错?(1) SELECT deptno(2) FROM emp(3) GROUP BY deptno(4) HAVING COUNT(deptno)=(5) (SELECT max(count(deptno)(6) FROM emp(7) GROUP BY deptno);A. Line 3B. Line 4C. Line 5D. Line 7E. 都没错.3. 以下哪个命令可以被用来从表 STATE中 drop 列 UPDATE_DT ?A. ALTER TABLE STATE DROP COLUMN UPDATE_DT;B. ALTER TABLE STATE REMOVE COLUMN UPDATE_DT;C. DROP COLUMN UPDATE_DT FROM STATE;D. 你不能从这个表中DROP该列.数据定义语言是用于( )的方法。选择一项确保数据的准确性 B、定义和修改数据结构C、查看数据 D、删除和更新数据5、执行下面的语句: select e.ename,d.dname from employees e, deptment d where e.deptno (+) = d.deptno;会显示什么样的结果?A. 显示dept表的全部信息,没有对应员工以null代替B. 显示emp表的全部信息,没有对应部门以null代替C. 报错D. 语法正确,但不会运行6、emp表结构如下:empno number(9,3)ename varchar2(10)sal number (9,3) mgr (4)什么命令可以让你添加loc列到列sal后:( )A. alter table emp add column3( loc varchar2(20);B. alter table emp modify after column3 ( loc varchar2(20);C. alter table add ( sal ) column3 ( loc varchar2( 20);D. 无法指定新列出现的位置7. begin for I in 1.10 loop if I = 3 or I = 9 then null ; else insert into ord values (I); end if ; end loop ; end ;多少行数据insert到了ord表?( )A. 3B. 4C. 8D. 9E. 18. 下面哪一个 like 命令会返回名字为HOTKA 的行? A.where ename like _HOT% B.where ename like H_T% C.where ename like %TKA_ D.where ename like %TOK%9. 在Oracle的SQL PLUS中执行DML语句后,没有提交便正常退出后,事务将:( )A.自动回滚B.自动提交C.报错警告D.提示是否保存11、Oracle启动的初始化参数文件搜寻顺序是:A. initsid.oraB. init.oraC. spfilesid.oraD. spfile.ora答案:从C到D到A12、显示系统时间: 答案:select sysdate from dual;13、执行下面的语句: select e.ename,d.dname from employees e, deptment d where e.deptno (+) = d.deptno;会显示什么样的结果?A. 显示dept表的全部信息,没有对应员工以null代替B. 显示emp表的全部信息,没有对应部门以null代替C. 报错D. 语法正确,但不会运行 16、create table ord ( ordid number (3) constraint ord_v_pk primary key, #orderdate date, ship4date date , 3item_id number (7) constraint it_v not null) ; 上面的语句,哪两行有错误?a. 1b. 2c. 3d. 4e. 5要以自身的模式创建私有同义词,用户必须拥有( )系统权限。选择一项A.CREATE PRIVATE SYNONYMB.CREATE PUBLIC SYNONYMC.CREATE SYNONYMD.CREATE ANY SYNONYM通常情况下,( )值可以唯一地标识数据库中的一行。选择二项A.ROWNUMB.PRIMARY KEYC.UNIQUED.ROWIDOracle中,表名应该严格遵循下列哪些命名规则()(选择二项)A.表名的最大长度为20个字符B.表名首字符可以为字母或下划线C.同一用户模式下的不同表不能具有相同的名称D.不能使用Oracle保留字来为表命名在设计数据库时,要充分考虑数据的完整性或准确性。下面关于primary key和unique的描述错误的是()选择二项)A.primary key用来在表中设置主键,主键列的值是可以重复的,用来唯一标识表中 的每一条记录B.primary key列和unique列都不可以有null值C.设为unique的列的值是不能重复的,用来唯一区别unique列的值D.primary key列不可以有null值, 而unique列是可以有null的假定有一张表用户表users,其中一身份证字段ID_card。为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束()(选择一项)A.primary keyB、check C、defaultD、unique下面哪个命令不属于数据操纵语言(DML)( )(选择二项)A.ALTER B.INSERTC.UPDATE D.DROP你发出命令:DROP TABLE emp;此时你还没有明确发出COMMIT命令。你能用什么命令撤消上面的drop语句所做的操作?( )选择一项A.关闭数据库B.什么命令都不可以,因为DDL语句不能被回滚C.发出一个ROLLBACK命令D.终断正在活动的会话表ORDERS的结构定义如下:ORDER_ID NUMBER(4) NOT NULL;CUSTOMER_ID NUMBER(12) NOT NULL;ORDER_TOTAL NUMBER(10.2);下列哪两个语句,能检索出预定总量在100.00与2000.00之间的记录? ()不定项选择A.SELECT customer_id,order_id,order_total FROM orders HAVING order_total BETWEEN 100 AND 2000;B.SELECT customer_id,order_id,order_total FROM orders WHERE order_total BETWEEN 100 AND 2000;C.SELECT customer_id,order_id,order_total FROM orders WHERE order_total>=100 AND <=2000;D.SELECT customer_id,order_id,order_total FROM orders HAVING ON order_total (100 and 2000) INCLUSIVE;E.SELECT customer_id,order_id,order_total FROM orders WHERE order_total>=100 AND order_total<=2000; 以下哪些是有效的Oracle约束类型?( )(选择四项)A. UNIQUE B.NONUNIQUE C. CHECK D.CASCADE E. PRIMARY KEY F.CONSTANTG G.NOT NULL更改oracle用户HR,使其变为不可用(锁定)状态()选择一项A.UPDATE USER HR ACCOUNT DISABLE ;B.UPDATE USER HR ACCOUNT LOCK ;C.ALTER USER HR ACCOUNT LOCK ;D.ALTER USER HR ACCOUNT DISABLE ;INSERT INTO TEST VALUES(&ID, &NAME); 语句在执行时将( )选择一项A.编译错:提示变量未定义B.运行错:提示不能识别符号C.将值&ID和&NAME插入到表中D.提示用户输入输入ID和NAME的值,再将输入值插入表中下面关于删除视图的说法哪一个是正确的()。(选择一项)A.删除视图后应立即用COMMIT语句使更改生效B.删除视图后,和视图关联的表中的数据不再存在C.视图被删除后视图中的数据也将被删除D.用dorp VIEW删除视图( )函数通常用来计算累计排名、移动平均数和报表聚合等。选择一项)A.汇总 B.分析C.分组 D.单行集合操作符Intersect的作用是( )选择一项A.将两个记录集联接起来B.选择第一个查询有,而第二个没有的记录C.选择二个查询的交集D.选择第二个查询有,而第一个没有的记录EMP1表包含下面这些字段。ENAME VARCHAR2(35)SALARY NUMBER(8,2)HIRE_DATE DATE管理部门想要一份已在公司工作了5年以上的员工名单。以下哪个SQL语句可以显示需要的结果。( )(选择一项)A.SELECT ENAME FROM EMP1 WHERE SYSDATE-HIRE_DATE>5; B.SELECT ENAME FROM EMP1 WHERE HIRE_DATE-SYSDATE>5;C.SELECT ENAME FROM EMP1 WHERE (SYSDATE-HIRE_DATE)/365>5;D.SELECT ENAME FROM EMP1 WHERE (SYSDATE-HIRE_DATE)*365>5;在Oracle中,使用下列的语句: CREATE PUBLIC SYNONYM parts FOR Scott.inventory;完成的任务是()。(选择一项)A.需要给出schema被除去的对象名B.指定了新的对象权限C.指定了新的系统权限D.给Scott.inventory对象创建一个公用同义词parts在Oracle中,有一个名为seq_id的序列对象,假定此时查看seq_id序列当前值显示为100,那么执行下面的sql insert into test(id, name) values(seq_id.NEXTVAL,tom );很不幸,这个insert没有执行成功,随后马上执行rollback,问:此时查看seq_id序列当前值显示为( )选择一项A. 99 B、100C、101 D、不能确定PL/SQL块中不能直接使用的SQL命令是( )选一项A.SELECTB.INSERTC.UPDATED.DROP在PL/SQL块中,以零作除数时会引发下列( )异常。(选择一项)A.VALUE_ERRORB.ZERO_DIVIDEC.VALUE_DIVIDED.ZERO_ERROR当Select Into语句的返回没有数据时,将引发下列哪个异常?( )选择一项A.No_Data_FoundB.To_Many_RowC.Too_Many_RowsD.Invalid_Number创建序列时,若未指定Cycle选项,则当前值大于MaxValue时将( )选择一项A.从MinValue重新开始循环B.重复使用MaxValue 值C.执行出错D.使用随机值在Oracle中,PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursor(dnum NUMBER) ISSELECT sal, comm FROM emp WHERE deptno = dnum;那么正确打开此游标的语句是()(选择两项)A.OPEN emp_cursor(20);B.OPEN emp_cursor FOR 20;C.OPEN emp_cursor USING 20;D.FOR emp_rec IN emp_cursor(20) LOOP END LOOP;在Insert触发器中可使用的引用有( )选一项A.new B.OldC.:Update D.ew和:Old下面哪些是过程中的有效参数模式?()不定项选择A.IN B. INOUT C.OUT D. OUT IN下面哪个命令是用于oracle中数据导出的( )选择一项A.exp B、impC、inputD、outputOracle数据表中,下面哪个可以作为有效的列名()(选择一项)A. class B.123_NUMC.date D.23_NUMOracle中的三种系统文件分别是( )选择三项A .数据文件 DBFB. 控制文件 CTLC. 日志文件 LOGD.归档文件 ARC下面哪个命令可以用来查看学生表(表名student)的表结构( )选择一项A. Select student ; B.Display student ;C.Desc student ; D.Show student ;下面哪个命令不属于数据定义语言(DDL)( )(选择一项)alter table B、drop indexC、create viewD、update tablename在设计数据库时,要充分考虑数据的完整性或准确性。下面关于primary key和unique的描述错误的是()选择一项)A. primary key用来在表中设置主键,主键列的值是不能重复的,用来唯一标识表中的每一条记录 B.设为unique的列的值是不能重复的,用来唯一区别unique列的值 primary key列不可以有null值, 而unique列是可以有null的primary key列和unique列都不可以有null值假定有一张表员工表employee,其中一性别字段sex,该列只能存入男或女。为了维护数据的完整性,在设计数据库时,最好对sex字段添加约束,请问应该添加什么约束()(选择一项)primary keyB、check C、defaultD、unique为表TEST中ID列添加主键约束的语法是()选择一项ALTER TABLE TEST CHANGE( ID INT PRIMARY KEY)ALTER TABLE TEST ADD( ID INT PRIMARY KEY)ALTER TABLE TEST MODIFY( ID INT PRIMARY KEY)ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY (ID)如果表DEPT包含3条记录,现在用如下命令对其进行修改,ALTER TABLE DEPT ADD(COMP NUMBER(4) NOT NULL);请问下面哪一个说法是正确的?( )(选择一项)该语句在表的最前面插入一个非空列该语句在表的最后插入一个非空列该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效该语句将产生错误关于聚合行数描述错误的是( )选择一项)A. avg(), sum() 只能用于数值类型的字段上 max() , min() 只能用于数值类型的字段上max() , min() 可以用于数值类型 或 日期类型 或 字符串类型的字段上count()可以用于任何类型的字段上Oracle中获得当前系统日期的查询语句是( )选择一项Select getdate() ;Select sysdate ;Select sysdate from dual ;Select sysdate() from dual ; 你发出命令:DROP TABLE emp;此时你还没有明确发出COMMIT命令。你能用什么命令撤消上面的drop语句所做的操作?( )选择一项A. 关闭数据库发出一个ROLLBACK命令终断正在活动的会话什么命令都不可以,因为DDL语句不能被回滚有Oracle表”cd”,它包含属性”cdcode”,”category”和”cdname”,你要查询category取值为”CLASSIC”或”ROCK”的行,你采用语句( )(选择两项)SELECT * FROM cd WHERE category IN (CLASSIC,ROCK);SELECT * FROM cd WHERE category BETWEEN CLASSIC AND ROCK;SELECT * FROM cd WHERE category=CLASSIC AND category=ROCK;SELECT * FROM cd WHERE category=CLASSIC OR category=ROCK更改oracle用户HR,使其变为不可用(锁定)状态()选择一项A.UPDATE USER HR ACCOUNT DISABLE ;B.UPDATE USER HR ACCOUNT LOCK ;C.ALTER USER HR ACCOUNT DISABLE ;D.ALTER USER HR ACCOUNT LOCK ;INSERT INTO TEST VALUES(&ID, &NAME); 语句在执行时将( )选择一项A. 编译错:提示变量未定义B. 运行错:提示不能识别符号将值&ID和&NAME插入到表中提示用户输入输入ID和NAME的值,再将输入值插入表中下面关于删除视图的说法哪一个是正确的()。(选择一项)A. 删除视图后应立即用COMMIT语句使更改生效B. 删除视图后,和视图关联的表中的数据依然存在C.视图被删除后视图中的数据也将被删除D.用delete VIEW删除视图若update emp set salary=1000 中缺少where 条件:( )(选择一项)A.更改表中所有记录 B.更改第一条记录 C.记录未更改。D.提示错误:缺少where字句集合操作符Intersect的作用是( )选择一项A.将两个记录集联接起来B.选择第一个查询有,而第二个没有的记录C.选择第二个查询有,而第一个没有的记录D.选择两个查询的交集在Oracle中,使用下列的语句: CREATE PUBLIC SYNONYM parts FOR Scott.inventory;完成的任务是()。(选择一项)A.需要给出schema被除去的对象名B.指定了新的对象权限C.指定了新的系统权限D.给Scott.inventory对象创建一个公用同义词parts在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是()(选择一项)select seq.ROWNUM from dual;select seq.ROWID from dual;select seq.CURRVAL from dual;select seq.NEXTVAL from dual;在Oracle中,有一个名为seq的序列对象,假定此时查看seq序列当前值显示为7,那么执行下面的sql insert into stu(id, name) values(seq.NEXTVAL,tom );很不幸,这个insert没有执行成功,随后马上执行rollback,问:此时查看seq序列当前值显示为( )选择一项A. 6B、8C、7D、不能确定在PL/SQL块中定义一个名为PI值为3.14的Real型常量的语法是( )选一项A.Pi Const Real3.14;B.Pi Real Const 3.14;C.Constant Pi Real:3.14D.Pi Constant Real:=3.14Oracle中,在一个PL/SQL块中调用另一个PL/SQL过程的方法是( )(选择一项)A.使用CALL语句B.使用EXECUTE语句C.使用RUN语句D.直接使用过程名当Select Into语句的返回多于一行时,将引发下列哪个异常?( )选择一项A.No_Data_FoundB.To_Many_RowC.Too_Many_RowsD.Invalid_Number创建序列时,若未指定Cycle选项,则当当前值大于MaxValue时将( )选择一项A.从MinValue重新开始循环B.重复使用MaxValue 值C.执行出错D.使用随机值PL/SQL块中哪几部分是可选的( )选择二项DeclareBeginException以上均是在Oracle中,PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursor(dnum NUMBER) ISSELECT sal, comm FROM emp WHERE deptno = dnum;那么可以打开此游标的语句是()(选择两项)A.OPEN emp_cursor(20);B.OPEN emp_cursor FOR 20;C.OPEN emp_cursor USING 20;D.FOR emp_rec IN emp_cursor(20) LOOP END LOOP;在Insert触发器中可使用的引用有( )选一项A.newB.OldC.:UpdateD.:New和:Old在Oracle中,有表Person,如下:IDNameTel001Amber1234002Amy2345003Emily4567004Eric5678005Roy6789执行下面sql查询:SELECT Tel FROM Person WHERE Name = A%;结果是( )。(选择一项)123423454567以上皆非二、sql编写题1.检索部门编号、部门名称、部门所在地及其每个部门的员工总数。select d.deptno,d.dname,d.loc,count(*)from emp e,dept dwhere e.deptno=d.deptnogroup by d.deptno,d.dname,d.loc;2、找员工姓名和直接上级的名字select e.ename 雇员,m.ename 经理 from emp e,emp mwhere e.mgr=m.empno;3、低于部门30中员工工资的其他员工?select * from emp where sal+nvl(comm,0) < all (select sal+nvl(comm,0) from emp where deptno = 30);4、复制一张表的结构,数据一起复制create table mydept as select * from dept;5、只复制结构create table mydept1 as select * from dept where 1=2;6、把数据从一个表复制到另一个结构相同的表insert into mydept1select * from dept;7.检索员工和所属经理的姓名。select e.ename 雇员,m.ename 经理 from emp e,emp m where e.mgr=m.empno;8、找每个部门中每种工作的最高和最低的工资?select deptno,job,max(sal),min(sal) from emp group by deptno,job;9、找每个工作的最高和最低的工资?select job,max(sal),min(sal) from emp group by job; 10.检索30部门中1980年1月份之前入职的员工信息。显示:员工号、员工名、部门号,部门名、入职日期。select empno,ename,d.deptno,d.dname,hiredatefrom emp,dept d where emp.deptno=d.deptno and d.deptno=30 and hiredate>to_date(1980-01-01,yyyy-mm-dd);11、显示每个部门的工资前2名的员工select * from emp a where (select count(*) from empwhere deptno = a.deptno and sal > a.sal) <=1;12、高于部门30中员工最高工资的其他员工?select * from emp where sal+nvl(comm,0) > all (select sal+nvl(comm,0) from empwhere deptno = 30);13.按部门号(deptno) 及 工资(sal)排序检索公司的员工信息(要求部门号从大到小 ,部门号相同的按工资由低到高),显示的字段为:员工号、员工名、工资、部门号。select empno,ename,sal,deptno from emp order by deptno desc,sal;14.检索部门号及其本部门的最低工资。select deptno,min(sal) from emp group by deptno;15. 检索与SCOTT从事相同工作的员工信息。select * from emp where job=(select job from emp where ename=SCOTT);16、只复制部分数据insert into mydept1 select * from dept where deptno>20;或insert into mydept1(deptno,loc) select deptno,locfrom dept;17、统计emp表中不同工作的个数 ?select count(distinct job) from emp;或select job,count(job) from emp group by job;18、查询姓名首字母为A或第二个字符为B的雇员信息select * from emp where ENAME likeA% or ENAME like_O%;19、部门编号降序姓名升序select * from emp order by DEPTNO desc,ename asc;20、每个部门平均工资和最高工资select avg(SAL),max(SAL) from emp group by DEPTNO;21、每个部门平均工资和最高工资按平均工资排序select avg(SAL),max(SAL) from emp group by DEPTNO order by avg(SAL) desc;22、显示每个部门、每种岗位的平均工资和最高工资select avg(SAL),max(SAL) from emp group by DEPTNO,JOB;23. 用PL/sql实现输出7369号员工的姓名。-用PL/sql实现输出7369员工的姓名;set serveroutput on;- 将sql*plus的输出功能开启declare -声明部分var_empno number(4) := 7369 ;-声明一个变量var_empno ,并给赋值,用:= 赋值var_name varchar2(10); -声明一个变量var_name begin -执行部分的开始 select ename into var_name from emp where empno = var_empno; dbms_output.put_line(var_empno | 的名字是 : | var_name);-输出语句end;-执行部分的结束,end后面要加 ;-执行结果为:7369 的名字是 : SMITHPL/SQL 过程已成功完成。24.编写一sql语句,将7369号员工的入职日期改为1997/7/1,工资提高800 ,其他信息不变。update emp set hiredate=to_date(1997/7/1,yyyy-mm-dd),sal=sal+800 where empno=7369;25、平均工资高于2000的部门编号,部门工资,最高工资select DEPTNO,avg(SAL),max(SAL) from emp group by DEPTNO having avg(SAL)>2000;26、查询emp表所在部门30的雇员及管理员的姓名select 雇员表.ename,管理员表.ename from emp 雇员表,emp 管理员表 where 雇员表.MGR=管理员表.EMPNO and deptno=30;27、显示工资最高的员工信息select * from emp where SAL=(select max(SAL) from emp);28、统计公司有多少个岗位(工种的个数)。select count(distinct job) from emp;或select job,count(job) from emp group by job;29.检索公司员工中姓张的员工信息。显示字段:empno、ename、deptno。 Select empno,ename,deptno from emp where ename like 张%;30.检索所有员工的工号、员工名、入职时间,要求入职时间按YYYY-MM-DD格式输出。Select empno,ename, to_char(HIREDATE,YYYY-MM-DD) from emp;31.检索每个部门的最高工资 和 最低工资,显示字段为:deptno、losal、hisalselect max(sal) hisal,min(sal) losal,deptno from emp group by deptno;32.按部门号(deptno) 及 工资(sal)排序检索公司的员工信息(要求部门号从小到大 ,部门号相同的按工资由高到低),显示的字段为:empno、ename、sal、deptno。select empno,ename,sal,deptno from emp order by deptno desc,sal;33.检索每个部门的岗位平均工资。显示字段:empno、平均工资、job。select deptno,job,avg(sal) 平均工资 from scott.emp group by (deptno,job);34.检索和名叫SCOTT的员工相同工资的员工信息,但不显示SCOTT。显示字段:员工号、员工名

    注意事项

    本文(oralce题库及答案.doc)为本站会员(PIYPING)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开