您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > PLSQL开发人员试题(DBA)
第一页OraclePL/SQL开发人员试题(DBA)Apr.8th.2005题目1:(以下的null代表真的null,我写在这里只是为了让大家看清楚)根据如下表的查询结果,那么以下语句的结果是SQLselect*fromusertable;USERIDUSERNAME---------------------------1user12null3user34null5user56user6SQLselect*fromusergrade;USERIDUSERNAMEGRADE------------------------------------1user1902null807user7808user890执行语句:语句一:selectcount(*)fromusergradewhereusernamenotin(selectusernamefromusertable);语句二:selectcount(*)fromusergradegwherenotexists(selectnullfromusertabletwheret.userid=g.useridandt.username=g.username);以上语句一的执行结果是:(),以上语句二的执行结果是:()A:0B:1C:2D:3E:4F:5G:NULL题目2:(以下的null代表真的null,我写在这里只是为了让大家看清楚)在以下的表的显示结果中,以下语句的执行结果是SQLselect*fromusertable;USERIDUSERNAME---------------------------1user12user23user34user45user5SQLselect*fromusergrade;USERNAMEGRADE--------------------------user990user880user780user290user1100user180执行语句语句一:Selectcount(*)fromusertablet1whereusernamein(selectusernamefromusergradet2whererownum=1);语句二:Selectcount(*)fromusertablet1whereexists(select'x'fromusergradet2wheret1.username=t2.usernameandrownum=1);以上语句一的执行结果是:(),以上语句二的执行结果是:()A:0B:1C:2D:3第二页题目3.根据以下的在不同会话与时间点的操作,判断结果是多少,其中时间T1T2……Tn。原始表记录为:Select*fromemp;EMPNODEPTNOSALARY-----------------100155101150select*fromdept;DEPTNOSUM_OF_SALARY-------------------11052可以看到,现在因为还没有部门2的员工,所以总薪水为null。现在有两个不同的用户(session)在不同的时间点(按照特定的时间顺序)执行了一系列的操作,那么在其中或最后的结果为:TimeSession1Session2T1insertintoempvalues(102,2,60);T2updateempsetdeptno=2whereempno=100;T3updatedeptsetsum_of_salary=(selectsum(salary)fromempwhereemp.deptno=dept.deptno)wheredept.deptnoin(1,2);T4updatedeptsetsum_of_salary=(selectsum(salary)fromempwhereemp.deptno=dept.deptno)wheredept.deptnoin(1,2);T5commit;T6selectsum(salary)fromempgroupbydeptno;问题I:这里会话2的查询结果是什么?T7commit;到这里为此,所有事务都已完成,所以以下查询与会话已没有关系T8selectsum(salary)fromempgroupbydeptno;问题II:这里查询结果是什么?T9select*fromdept;问题III:这里查询的结果是什么?T6步中问题I的结果();T8步中问题II的结果是();T9步中问题III的结果是()ABCDEF1502601502551502115111525011052601110255第三页题目4:有表一的查询结果如下,该表为学生成绩表表二为补考成绩表selectid,gradefromstudent_grade;IDGRADE-------------------150240370480530selectid,gradefromstudent_makeup;IDGRADE-------------------160280560现在有一个dba通过如下语句把补考成绩更新到成绩表中,并提交:updatestudent_gradessets.grade=(selectt.gradefromstudent_makeuptwheres.id=t.id);commit;请问之后查询:selectGRADEfromstudent_gradewhereid=3;结果为():A:0B:70C:nullD:以上都不对题目5:根据以下的在不同会话与时间点的操作,判断结果是多少,其中时间T1T2……Tn。TimeSession1Session2T1selectcount(*)fromt;--显示结果(1000)条T2deletefromtwhererownum=100;T3begindeletefromtwhererownum=100;commit;end;/T4truncatetablet;T5selectcount(*)fromt;请问T5步中的结果是多少():A:1000B:900C:800D:0第四页题目6:存在表T(a,b,c,d),要根据字段c排序后取第21-30条记录显示(含a,b,c,d字段),请给出实现的SQL,并说明SQL的执行效率.
本文标题:PLSQL开发人员试题(DBA)
链接地址:https://www.777doc.com/doc-1013884 .html