<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>

            oracle數據庫面試筆試試題總結

            時間:2024-10-15 08:25:45 綜合指導 我要投稿
            • 相關推薦

            oracle數據庫面試筆試試題總結

              Oracle數據庫

            oracle數據庫面試筆試試題總結

              1.基礎測試

              選擇在部門 30 中員工的所有信息

              Select * from emp where deptno=30;

              列出職位為(MANAGER)的員工的編號,姓名

              Select empno,ename from emp where job = ?Manager ?;

              找出獎金高于工資的員工

              Select * from emp where comm>sal;

              找出每個員工獎金和工資的總和

              Select sal+comm,ename from emp;

              找出部門 10 中的經理(MANAGER)和部門 20 中的普通員工(CLERK)

              Select * from emp where (deptno=10 and job=?MANAGER?) or (deptno=20 and job=?CLERK?);

              找出部門 10 中既不是經理也不是普通員工,而且工資大于等于 2000 的員工 Select * from emp where deptno=10 and job not in(?MANAGER?,?CLERK) ? and sal>=2000;

              找出有獎金的員工的不同工作

              Select distinct job from emp where comm is not null and comm>0

              找出沒有獎金或者獎金低于 500 的員工

              Select * from emp where comm<500 or comm is null;

              顯示雇員姓名,根據其服務年限,將最老的雇員排在最前面

              select ename from emp order by hiredate ;

              2.函數測試

              找出每個月倒數第三天受雇的員工(如:2009-5-29)

              select * from emp where last_day(hiredate)-2=hiredate;

              找出 25 年前雇的員工

              select * from emp where hiredate<=add_months(sysdate,-25*12);< p="">

              所有員工名字前加上 Dear ,并且名字首字母大寫

              select Dear || initcap(ename) from emp;

              找出姓名為 5 個字母的員工

              select * from emp where length(ename)=5;

              找出姓名中不帶 R 這個字母的員工

              select * from emp where ename not like %R%;

              顯示所有員工的姓名的第一個字

              select substr(ename,0,1) from emp;

              顯示所有員工,按名字降序排列,若相同,則按工資升序排序

              假設一個月為 30 天,找出所有員工的日薪,不計小數

              找到 2 月份受雇的員工

              select * from emp where to_hiredate,fmmm)=2;

              3.分組函數

              分組統計各部門下工資>500 的員工的平均工資、

              Select avg(sal) from emp where sal>500 group by deptno ;

              統計各部門下平均工資大于 500 的部門

              select deptno,avg(sal) from emp group by deptno having avg(sal)>500 ; 算出部門 30 中得到最多獎金的員工獎金

              Select max(comm) from emp where deptno = 30 ;

              算出部門 30 中得到最多獎金的員工姓名

              select ename from emp where comm = (select max(comm) from emp where deptno=30);

              算出每個職位的員工數和最低工資

              Select job,min(sal),count(*) from emp group by job;

              列出員工表中每個部門的員工數,和部門 no

              Select count(*),deptno from emp group by deptno;

              得到工資大于自己部門平均工資的員工信息

              select * from emp e1,(select deptno,avg(sal) as avgsal from emp group by deptno) e2

              where e1.deptno=e2.deptno and e1.sal > e2.avgsal;

              分組統計每個部門下,每種職位的平均獎金(也要算沒獎金的人)和總工資(包括獎金) select deptno,job,avg(nvl(comm,0)),sum(sal+nvl(comm,0)) from emp group by deptno,job;

              4.多表聯查

              列出員工表中每個部門的員工數,和部門 no

              select deptno,count(*) from emp group by deptno;

              列出員工表中每個部門的員工數(員工數必須大于 3) ,和部門名稱

              select d.* ,ed.cou from dept d,(select deptno,count(*) cou from emp group by deptno having count(*)>3) ed where d.deptno=ed.deptno;

              找出工資比 jones 多的員工

              select * from emp where sal>=(select sal from emp where

              lower(ename)=jones);

              列出所有員工的姓名和其上級的姓名

              select e1.ename as lower ,e2.ename as upper from emp e1,emp e2 where e1.mgr

              = e2.empno;

              select e1.ename as lower ,e2.ename as upper from emp e1,emp e2 where e1.mgr = e2.empno(+);

              以職位分組,找出平均工資最高的兩種職位

              Select * from ( select avg(sal) from emp order by job desc ) where rownum<3; 20="" select="" d.dname="" from="" emp="" dept="" d="" where="" and="" e.sal="">(select max(sal) from

              emp where deptno=20) and e.deptno=d.deptno

              得到平均工資大于 2000 的工作職種

              select job from emp group by job having avg(sal) > 2000;

              分部門得到工資大于 2000 的所有員工的平均工資,并且平均工資還要大于 2500 select deptno,avg(sal) from emp where sal>2000 group by deptno having avg(sal)>2500;

              得到每個月工資總數最少的那個部門的部門編號,部門名稱,部門位置 select * from dept

              where

              deptno = (

              select e.deptno from

              (select deptno,sum(sal) from emp group by deptno order by sum(sal)) e

              where rownum=1

              );

            【oracle數據庫面試筆試試題總結】相關文章:

            oracle 技術筆試題02-18

            數據庫常見筆試面試題11-11

            益和電力Oracle筆試題分享11-21

            Oracle筆試,分享筆試內容11-21

            JAVA面試筆試題11-15

            人事面試筆試題11-11

            公司面試筆試題11-21

            人事面試筆試題11-16

            Oracle筆試,攢RP中02-18

            各公司面試筆試題11-15

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看