版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 . ORACLE数据库物理结构包才以下三种文件,以下不属于的是A.系统文件B.日志文件C.数据文件D.限制文件2 .以下哪个命令是用于 ORACLE中数据导出的A . exp B . impC. input D. output3 .是用于限制数据访问的语言.A. DML B . DDL C. DCL D. DLL4 . NULL表示什么A. 0 B.空格 C.值 D.没有值5 .下面四个语句中哪一个是正确的A. SELECT * , ENAME FROM EMP ;B. DELETE * FROM EMP;C. SELECT DISTINCT EMPNO ,HIREDA TE FROM E
2、MP;D. SELECT ENAME | SAL AS " name" FROMEMP ;6 .假定有一张表用户表 users ,其中一身份证字段ID_card.为了维护数据的完整性,在设计数据库时,最好对ID_card字段添加约束,请问应该添加什么约束A. primary key B. check C. default D . not null7 . 下面哪一个like命令会返回名字象 HOTKA的行A . where ename like' _HOT8 . where ename like 咤 H_T9 . where ename like %TKA_'
3、10 where ename like % TOK %('8 .()操作符只返回由第一个查询选定但是没有被第二个查询选定的行.A. UNIONB. UNION ALLC. INTERSECTD. MINUS9 . EMPLOYEES表的结构如下:EMPLOYEEIDNUMBER PRIMARY KEYFIRSTNAMEVARCHAR2 (25)LASTNAMEVARCHAR2 (25)HIREDATEDATE考虑下面的语句.1 . CREATE table new_emp (employee_id NUMBER,name VARCHAR2(30);2.INSERT INTO new_e
4、mp SELECT employee_id,last_name from employees3.Savepoint s2;4 .DELETE from new_emp ;5 .ROLLBACK to s2 ;6.DELETE from new_emp where employee_id=180;7.UPDATE new_emp set name= ' James'8.ROLLBACK to s2 ;9.UPDATE new_emp set name ='James ' WHERE employee_id=180;10.ROLLBACK;完本钱次事务处理以后,以下
5、说法正确的有()A.表中没有行.8. 有一个女4名为 James的员工.C.不能屡次回滚到相同的保存点.D.由于已经删除了员工ID180 ,因此最后一次更新未更新任何行.10 .以下运算结果不为空值的是()A. 12+NULLB. 60*NULLC. NULLNULL'D. 12/ (60+NULL )11 .假设当前日期为25-5月-06',以下()表达式能计算出 5个月后那一天所在月份的最后一天的日期.A. NEXT_DAY (ADD_MONTHS(28-5月一06',5)B. NEXT_DAY(MONTHS_BETWEEN (' 25 月一06',
6、 5)C. LAST_DAY ( MONTHS_BETWEEN(28 5 月一06', 5)D. LAST_DAY ( ADD_MONTHS(28 5 月-06', 5)12 .()子句用于列出唯一值.A . unique B . distinct C. order by D. group by13 .哪一个是子查询执行的顺序()A .最里面的查询到最外面的查询B.最外面的查询到最里面的查询C.简单查询到复杂查询D.复杂查询到简单查询14 .下面哪一个语句可以使用子查询A. SELECT 语句B. UPDATE 语句C. DELETE 语句D.以上都是15 .如果表DEPT包含
7、3条记录,现在用如下命令对其进行修改,ALTER TABLE DEPT ADD COMP NUMBER 4 NOT NULL;请问下面哪一个说法是正确的 A.该语句在表的最前面插入一个非空列B.该语句在表的最后插入一个非空列C.该语句执行完成后,应当立即执行COMMIT语句,以保证更改生效D.该语句将产生错误16 .以下哪个是组合主键的特征A.每列有唯一的值,但不是 NULL值B.组合有唯一的值,并且其中每列没有NULL值C.组合的第一列和最后一列有唯一值D.组合的第一列和最后一列有唯一值,但没有NULL值17 .当删除父表中的数据时,在CREATE TABLE语句的外键定义中指定的选项删除子
8、表中的数据.A. ON TRUNCATE CASCADEB ON DELETE CASCADEC ON UPDA TE CASCADED. A和C都是18 .视图可以用于A.限制对表中指定列的访问B.限制对表中行的子集的访问C. A和B都是D. A和B都不是19.语句 SELECT * FROM dept WHERE NOT EXISTS SELECT * FROM emp WHERE deptno=dept. deptno执行后的结果为A.只显示存在于 EMP表中的部门全部信息.B.只显示不存在于 EMP表中的部门全部信息C.未返回任何数据D,显示DEPT表中的全部信息20.已创立序列 S1
9、,假设当前值为 2,先执行3次S1.CURRVAL,再执行3次S1.NEXTV AL ,最后S1的值是A. 3B. 4C. 5D. 621.数据库中有两个用户 scott和myuser,物资表wz是属于myuser用户的,但当前用户是 scott,要求查询物资表 wzwno, wname, wtype, wunit物资单位 wunit列为null的记 录,取结果的前5条记录显示,以下正确的SQL语句是A . select*from scott. wz where wunit is null and rownum 5;B. select*from myuser.wz where wunit =
10、null and rownum 5;C. select * from myuser.wz where wunit is null and rownum<6 ;D. select*form scott. wz where wunit is null and rownum 6;22.假设用户要连接数据库,那么该用户必须拥有的权限是A. create tableB. create indexC. create sessionD. connect23 .授予删除任何表的系统权限DROP ANY TABLE 给useri,并使其能继续授该权限给其他用户,以下正确的 SQL语句是A . Grant
11、drop any table to useri;B. Grant drop any table to useri with admin option;C. Grant drop table to useri;D. Grant drop any table to useri with check potion ;24 .当给一个有主键的表中插入重复行时,将引发以下哪个异常A. NO_DATA_FOUNDB. TOO_MANY_ROWSC. DUP_VAL_ON_INDEXD. ZERO_DIVIDE25 .下面的查询中哪一个会产生笛卡尔集A. SELECT e.empno, e.ename, e
12、.deptno, d.deptno, d.loc FROM emp e, dept dWHERE e.deptno = d.deptno;B. SELECT e.empno, e.ename, e.deptnq d.deptno, d.loc FROM emp e, dept d;C. SELECT e.empno , e.ename,e.deptno, d.deptno, d.loc FROM emp e , dept dWHERE e.empno = i0i and e.deptno = d.deptno;D. SELECT e.empno, e.ename, e.deptno, d.de
13、ptno, d.loc FROM emp e , dept d WHERE e.deptno= d. deptno and d.deptno = 60;26 .当每个非主键列完全依赖于整个主键列时,关系设计属于以下哪一种形式A .第一范式B .第二范式C.第三范式D.第四范式27. 一般在中有时机使用:NEW和:OLDA .游标B.存储过程C.函数D.触发器28 .在Oracle中,PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursordnum NUMBER ISSELECT sal , comm FROM emp WHERE deptno = dnum那么正确翻开此游标的
14、语句是A. OPEN emp_cursor;B. OPEN emp_cursor FOR 20;C. OPEN emp_cursor USING 20;D. FOR emp_rec IN emp_cursor20 LOOP END LOOP29 .下面哪些是函数中的有效参数模式Ao IN B. INOUTCo OUTD. OUT IN30 .是一个单一的逻辑工作单元 .A.记录B.数据库C.事务D.字段1 .数据定义语言是用于的方法.选择一项A.保证数据的准确性B、定义和修改数据结构C、查看数据D、删除和更新数据选择一项2 .要以自身的模式创立私有同义词,用户必须拥有 系统权限.A. CREA
15、TE PRIVATE SYNONYMB. CREATE PUBLIC SYNONYMC. CREATE SYNONYMD. CREATE ANY SYNONYM3 .通常情况下,值可以唯一地标识数据库中的一行.选择二项A. ROWNUMB. PRIMARY KEYC. UNIQUED. ROWID4 . Oracle中,表名应该严格遵循以下哪些命名规那么选择二项A.表名的最大长度为20个字符B.表名首字符可以为字母或下划线C.同一用户模式下的不同表不能具有相同的名称D.不能使用Oracle保存字来为表命名5 .在设计数据库时,要充分考虑数据的完整性或准确性.下面关于primary key 和u
16、nique的描述错误的选项是选择二项A. primary key用来在表中设置主键,主键列的值是可以重复的,用来唯一标识表中的每一条记录B. primary key 歹U和unique 列都不可以有 null值C.设为unique的列的值是不能重复的,用来唯一区别unique列的值D. primary key 列不可以有null值,而unique 列是可以有 null的6.假定有一张表用户表 users ,其中一身份证字段ID_card.为了维护数据的完整性,在设选择一计数据库时,最好对 ID_card字段添加约束,请问应该添加什么约束项)A. primary keyB、 checkC、def
17、aultD、unique7.下面哪个命令不属于数据操纵语言(DML )()(选择二项)A、 ALTER-B、 INSERT-C、 UPDATE D、 DROP8 .()操作符只返回由第一个查询选定但是没有被第二个查询选定的行.选择一项E. UNIONF. UNION ALLG. INTERSECTH. MINUS9 . EMPLOYEES表的结构如下:EMPLOYEEIDNUMBER PRIMARY KEYFIRSTNAMEVARCHAR2 (25)LASTNAMEVARCHAR2 (25)HIREDATEDATE考虑下面的语句.1 .CREATE table new_emp (employe
18、e_id NUMBER , name VARCHAR2(30);2.INSERT INTO new_emp SELECT employee_id , last_name from employees;3.Savepoint s2 ;4.DELETE from new_emp;5 .ROLLBACK to s2;6 .DELETE from new_emp where employee_id=180 ;7 .UPDATE new_emp set name= ' James '8 .ROLLBACK to s2 ;9 .UPDATE new_emp set name ='J
19、ames ' WHERE employee_id=180 ;10.ROLLBACK ;完本钱次事务处理以后,以下说法正确的有不定项选择E.表中没有行.F. 有一个女4名为 James的员工.G.不能屡次回滚到相同的保存点.H.由于已经删除了员工ID180 ,因此最后一次更新未更新任何行.10 . 删除emp表中所有数据,且可以rollback ,以下语句哪个命令可以实现选择一项A. truncate table empB. drop table empC. delete * from empD. delete from emp11 . 你发出命令:DROP TABLE emp;此时你还
20、没有明确发出 COMMIT命令.你能用什么命令撤消上面的drop语句所做的操作选择一项A.关闭数据库B.什么命令都不可以,由于 DDL语句不能被回滚C. 发出一个ROLLBACK命令D.终断正在活动的会话12 . 表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 ord
21、ers HAVING order_total BETWEEN 100 AND 2000;B. SELECT customer_id , order_id,order_totalFROM orders WHEREorder_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
22、 order_total 100 and 2000 INCLUSIVE;E. SELECT customer_id,order_id , order_total FROM orders WHERE order_total>=100 AND order_total<=2000;13 . 以下哪些是有效的 Oracle约束类型选择四项A. UNIQUEB.NONUNIQUEC. CHECKD.CASCADEE. PRIMARY KEYF. CONSTANTGGo NOT NULL14 .更改oracle用户HR,使其变为不可用锁定状态选择一项A. UPDATE USER HR ACCO
23、UNTDISABLE ;B. UPDATE USER HR ACCOUNTLOCK ;C. ALTER USER HR ACCOUNT LOCK ;D. ALTER USER HR ACCOUNT DISABLE ;15 . INSERT INTO TEST VALUES '&ID' , '&NAME '语句在执行时将选择一项A.编译错:提示变量未定义B.运行错:提示不能识别符号C. 将值& ID和&NAME 插入到表中D.提示用户输入输入ID和NAME的值,再将输入值插入表中16 .下面关于删除视图的说法哪一个是正确的.选择一项
24、A.删除视图后应立即用 COMMIT语句使更改生效B.删除视图后,和视图关联的表中的数据不再存在C.视图被删除后视图中的数据也将被删除D.用dorp VIEW删除视图17 .函数通常用来计算累计排名、移动平均数和报表聚合等.选择一项A.汇总B.分析C.分组D.单行18 .集合操作符Intersect的作用是选择一项A.将两个记录集联接起来B.选择第一个查询有,而第二个没有的记录C.选择二个查询的交集D.选择第二个查询有,而第一个没有的记录19 . EMP1表包含下面这些字段.ENAMEVARCHAR235 SALARYNUMBER 8,2HIRE_DATEDATE治理部门想要一份已在公司工作了
25、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;20 .在Oracle中,使用以下的语句:CREATE PUBLIC S
26、YNONYM parts FOR Scott . inventory;完成的任务是.选择一项A. 需要给出schema被除去的对象名B.指定了新的对象权限C.指定了新的系统权限D. 给Scott.inventory对象创立一个公用同义词parts21 .在Oracle中,有一个名为 seq_id的序列对象,假定此时查看seq_id序列当前值显示为100 ,那么执行下面的 sqlinsert into testid , name values seq_id.NEXTVAL,'tom ' ;很不幸,这个insert没有执行成功,随后马上执行rollback,问:此时查看seq_id
27、序列当前值显示为选择一项A. 99B、100C、101D、不能确定22 . PL/SQL块中不能直接使用的 SQL命令是选一项A. SELECTB. INSERTC. UPDATED. DROP23 .在PL/SQL块中,以零作除数时会引发以下异常.选择一项A. VALUE_ERRORB. ZERO_DIVIDEC. VALUE_DIVIDED. ZERO_ERROR24 .在Oracle中,有一个名为seq的序列对象,以下语句能返回序列值但不会引起序列值增加的是选择一项A. select seq.ROWNUM from dual ;B. select seq.NEXTVAL from dua
28、l ;C. select seq.CURRVAL from dualD. select seq.CURIVAL from dual;25 .当Select Into 语句的返回没有数据时,将引发以下哪个异常选择一项A. No_Data_FoundB. To_Many_RowC. Too_Many_RowsD. Invalid_Number26 .创立序列时,假设未指定Cycle选项,那么当前值大于MaxValue时将选择一项A.从MinValue 重新开始循环B. 重复使用MaxValue 值C.执行出错D.使用随机值27 . PL/SQL块中哪几局部是可选的选择二项A. DeclareB.
29、BeginC. ExceptionD.以上均是28 .在Oracle中,PL/SQL块中定义了一个带参数的游标:CURSOR emp_cursor dnum NUMBER ISSELECT sal, comm FROM emp WHERE deptno = dnum;那么正确翻开此游标的语句是选择两项E. OPEN emp_cursor 20;F. OPEN emp_cursor FOR 20;G.OPEN emp_cursor USING 20;H.FOR emp_rec IN emp_cursor ( 20)LOOP END LOOP ;A.B.C.D.Insert触发器中可使用的引用有选
30、一项newOld:Update:New 和:Old30 .下面哪些是过程中的有效参数模式不定项选择A.INB. INOUTCo OUTDo OUT INdeptno=d. deptno.empno ;1.检索部门编号、部门名称、部门所在地及其每个部门的员工总数.select do deptno, d.dname, d.loc,count(* ) from emp e , dept d where e.group by d.deptno, d.dname, d.loc;2.检索员工和所属经理的姓名.select e.ename 雇员,m.ename 经理 from emp e,emp m whe
31、re e.mgr=m3.检索工资等级处于第四级别的员工的姓名 select e.ename from emp e inner join salgrade s on (e.sal between s.losal and s.hisal) where s.grade=4;4,检索工资等级高于 smith的员工信息.select * from emp e join salgrade s on (e.sal between s.losal and s.hisal) where s.grade> (select distinct s.grade from emp e join salgrade s
32、 on (select sal from emp where ename=' SMITH') between s.losal and s.hisal);5.检索30部门中1980年1月份之前入职的员工信息,显示:员工号、员工名、部门号,部门名、入职日期.select empno,ename, d.deptno,d.dname, hiredate from emp , dept d where emp.deptno=d.deptno and d.deptno=30 and hiredateto_date('1980-01 01' yyyy mm-dd')6
33、 o检索雇员的雇佣日期早于其经理雇佣日期的员工及其经理姓名.select e.ename雇员,m.ename经理,e.HIREDATE 雇员的雇佣日期,m.hiredate经理雇佣日期from emp e , emp m where e.mgr=m.empno and e.hiredate<m.hiredate;7.按部门号(deptno )及工资(sal)排序检索公司的员工信息(要求部门号从大到小,部门号相同的按工资由低到高),显示的字段为:员工号、员工名、工资、部门号.select empno, ename, sal, deptno from emp order by deptno
34、desc,sal;8.检索不同部门经理的最低工资.select m.ename, e.empno,e.sal from emp e,emp m where e.mgr=m.empno and e.deptno in(select deptno from emp group by deptno ) and e sal in (select min (sal) from emp group by deptno);9.检索部门号及其本部门的最低工资.select deptno, min (sal) from emp group by deptno;10 .检索从事clerk工作的员工姓名和所在部门名
35、称.select e.ename , d.dname from emp e join dept d on e.deptno=d. deptno wheree.job= ' CLERK'11 o检索和名叫 SCOTT的员工相同工资的员工信息,但不显示SCOTT.显示字段:员工号、员工名、工资.select empno,ename,sal from emp where sal = (select sal from emp where ename= ' SCOTT') and ename!='SCOTT '12.检索与SCOTT从事相同工作的员工信息.
36、'SCOTT');select * from emp where job=(select job from emp where ename=13 .检索出员工表emp中的第3条到第8条记录.显示字段:emp表中的全部字段.select * from (select rownum num , e.* from emp e) where num> =3 and num =8;14 .检索与30部门员工工资等级相同的员工姓名与工资.select * from emp e join salgrade s on (e.sal between s.LOSAL and s.HISAL)
37、 where s . grade= (select distinct s.grade from emp e join salgrade s on(selectavg(sal) from emp where deptno=30) between s.LOSAL and s. HISAL );15 .求分段显示薪水的个数.显示结果如下:DEPTNO800 20002001-5000- -30-5120231012selectt1.deptno, 800-2000 ","2001selectdeptno ,count(* ) as "800-2000"from
38、 emp5000" fromand 2000where sal between 800group by deptno )t1join (select deptno , count( *) as "20015000" from emp where sal between 2001 and 5000group by deptno ) t2on t1.deptno = t2.deptno ;16.用PL/sql实现输出7369号员工的姓名.用PL/sql实现输出7369员工的姓名;set serveroutput on;-将 sql* plus 的输出功能开启decla
39、re -声明局部var_empno number (4) := 7369 ; -声明一个变量 var_empno ,并给赋值,用:=赋值var_name varchar2 (10);-声明一个变量 var_namevar_sal number(9,2);begin-执行局部的开始select ename , sal into var_name , var_sal from emp where empno = var_empno;dbms_output.put_line (var_empno | | '的名字是 :'| | var_name);输出语句dbms_output.pu
40、t_line (var_empno | '的工资是 :'11 var_ sal );-输出语句end;-执行局部的结束,end后面要加;-执行结果为:7369的名字是:SMITHPL/SQL过程已成功完成.17.编写一 sql语句,将7369号员工的入职日期改为 1997/7/1 ,工资提升800,其他信 息不变.update emp set hiredate=to_date('1997/7/1', ' yyyymm-dd'),sal=sal+800 where empno=7369 ;18.假定现在有一张表,表名为 T_emp ,其表结构和现有
41、的 emp表结构完全相同,但是T_emp中没有记录,请编写一 sql语句,实现将 emp中部门编号为 20的员工信息添加到T_emp 中.19.对所有员工,如果该员工职位是MANAGER ,并且在DALLAS工作那么就给他薪金加15%;如果该员工职位是 CLERK,并且在NEW YORK工作那么就给他薪金扣除 5%;其他情况不 作处理.要求:使用游标或函数编程实现.set serveroutput on;declarecursor cl is select * from emp ;ci rec cl % rowtype;v_loc varchar2(20);beginfor cirec in
42、ci loopselect loc into v_loc from dept where deptno = cirec . deptno;if cirec.job =' MANAGER and v_loc =' DALnASupdate emp set sal = sal * i.i5 where empno = cirec.empno;elsif cirec.job= ' CLERK'anv_loc = 'NEW YORK ' thenupdate emp set sal = sal * 0.95 where empno = cirec.emp
43、no;elsenull;end if;end loop;end;20.对直接上级是BLAKE'的所有员工,根据参加工作的时间加薪: i98i年6月以前入职的员工加薪i0%、i98i年6月以后入职的员工加薪5%.要求:使用游标或函数编程实现.declarecursor ci is select * from emp where mgr =(selectempno from emp where ename='BLAKE );'-直接上级是'BLAKE '的所有员工cirec ci%rowtype;beginfor cirec in ci loopif cir
44、ec.hiredate <-6 月1 81' thenupdate emp set sal = sal * 1.1 where empno = cirec.empno;elseupdate emp set sal = sal * 1.05 where empno = c1rec.empno;end if;end loop;end;1 .创立一个角色 MYROLE ,此角色具有建表,建视图的系统权限和查找SCOTT用户EMP,DEPT表的权限,将此角色授权给 TEST用户.CREATE ROLE MYROLE;GRANT CREATE TABLE , CREATE VIEW TO
45、MYROLEGRANT SELECT ON SCOTT.EMP TO MYROLE;GRANT SELECT ON SCOTT.DEPT TO MYROLE;CREATE USER TEST IDENTIFIED BY TEST;GRANT MYROLE TO TEST ;2 .创立EMP, DEPT两张表的副表(包括它们之间的约束)CREATE TABLE mydept AS SELECT * FROM dept ;ALTER TABLE mydept ADD CONSTRAINT pk_mydept_deptno PRIMARYKEY(deptno );CREATE TABLE myemp
46、 AS SELECT * FROM empALTER TABLE myemp ADD CONSTRAINT pk_myemp_empno PAIMARY KEY(empno);ALTER TABLE myemp ADD CONSTRAINT fk_myemp_mydept FOREIGN KEY(deptno )REFERENCES mydept (deptno);3 .找出部门10中所有经理、部门 20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料select * from emp where (deptno=10 and job=upper( '
47、 manager'or ( deptno=20 andjob=upper('clerk ') ) or (jobupper( 'manager' ) a nd>jobper( ' cler® and sal>=2000)4 .找出不收取佣金或收取的佣金低于 100的雇员select * from emp where nvl (comm, 0)100;5 .显示不带有R'的雇员姓名6 .显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序Select ename, job , sal from
48、emp order by job desc , sal asc7 .求哪些人工资在平均工资之上,列出姓名和工资.select ename,sal from emp where sal >(select avg ( sal) from emp);8 .显示除20部门外,部门平均工资在 2500以上的部门,列出部门编号和平均工资.select avg(sal) , deptno from emp where deptno20 group by deptno having avg(sal ) > 2500;9 .列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金.select * f
49、rom emp where sal in (select sal from emp where deptno=30);10 .列出所有部门的详细信息和部门人数.select a.* ,(select count( * ) from emp where deptno=a. deptno) tot from dept a ;11 .列出各种工作的最低月收入.select job,min(sal+nvl(comm,0 ) from emp group by job ;12 .返回工资水平(等级)高于平均工资水平的员工详细信息.select * from emp e join salgrade s o
50、n (e.sal between s.losal and s.hisal) where s.grade> (select distinct s. grade from emp e join salgrade s on ( (select avg(sal) from emp) between s.losal and s.hisal);13 .列出至少有两个员工的所有部门信息select * from deptwhere deptno in(select deptno from emp group by deptno having count (*)>1 );14 .查询emp表的第6
51、行到第10行内容Select * from (select rownum r, e.* from emp e) where r between 6 and 10;15 .查询入职最早的前 5到10名员工的姓名和入职日期(按年月日格式显示日期 )Select ename, to_char (hiredate,'yyyy-mm-dd') from (select ename, hiredate, rownum r from (select ename,hiredate from emp order by hiredate ) where rownum<=10 ) where
52、r> =5;16 .编写一 sql语句,将7369号员工的入职日期改为 1997/7/1 ,工资提升800 ,其他信 息不变.update emp set hiredate=to_date( ' 1997/7/1 'mm/yyyd),sal=sal+800 where empno=7369;17 .查询雇员和其直接领导姓名及他们所在部门名称,没有领导的雇员也要列出.select e.ename,ed.dname, m.ename,md.dname from emp e,emp m, dept ed, dept md where e.deptno=ed.deptno and
53、 e.mgr=m.empno(+) and m.deptno=md.deptno (+);18 .列出部门编号,部门名称,部门的员工数量,部门的平均工资 select do deptno, d.dname, t.cou, t.avg from dept d,(select deptno,count (empno) cou, avg(sal) avg from emp group by deptno) t where d.deptno=t.deptno ;19 .定义游标 update_cur,根据职务调整雇员的工资,如果职务为“ SALESMAN"或者“ANALYST工资上调100元
54、,如果职务为“ MANAGER 工资上调200元淇它职务工资上调50元.DECLAREv_job emp.job % TYPE;CURSOR update_curISSELECT jobFROM empFOR UPDATE;BEGINOPEN emp_cur;LOOPFETCH update_cur INTO v_job;EXIT WHEN emp_cur %NOTFOUND ;CASEWHEN v_job= ' SALESMAN OR v_job= ' ANALT' THEN update emp set sal=sal+100 where current of emp_cur;WHEN v_job=' MANAGER ' THENupdate emp set sal=sal+200 where current of emp_cur;ELSEupdate emp set sal=sal+50 where current of emp_cur;END CASE ;END LOOP;END ;20 .创立一个触发器,使其可以修改DEPT表白D DEPTNO.create or replace trigger update_deptafter
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届湖北省鄂州地区中考第二次模拟考试考试生物试题含解析
- 2026年国有企业布局前瞻性战略性新兴产业投资指南
- 2026年人工智能在老年人健康监测中应用方案
- 2026年智能轮椅越障能力障碍物高度8cm台阶通过性测试标准
- 2026年产品碳足迹标识认证试点申报与实施流程
- 国际商务谈判专员谈判技巧与策略研究
- 健康与养生领域的科研技术人员面经参考及应对策略解析
- 医疗信息系统数据库维护面试全解
- 信息安全技术在网络数据保护中的应用探讨
- 企业微信公众平台运营经理的招聘与面试流程
- 2026年新能源产业发展政策解读试题
- 2026天津市津鉴检测技术发展有限公司招聘工作人员14人笔试备考试题及答案解析
- 2025geis指南:软组织肉瘤的诊断和治疗课件
- 2026广东汕头市公安局招聘警务辅助人员152人考试参考试题及答案解析
- 施工机械安全防护方案
- 危险品全员安全培训方案课件
- 屋顶彩钢瓦施工流程
- 2026年江西应用技术职业学院单招职业技能测试题库带答案详解
- 五个带头方面整改措施
- DB31∕T 1597-2025 老年人屈光不正社区筛查规范
- DB32∕T 5276-2025 木结构人行桥梁技术规程
评论
0/150
提交评论