亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 963 | 回復(fù): 0
打印 上一主題 下一主題

oracle sql語句小結(jié) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-19 13:56 |只看該作者 |倒序瀏覽
一、數(shù)據(jù)表設(shè)計圖


二、創(chuàng)建語句

/*==============================================================*/
/* DBMS name:      ORACLE Version 9i                            */
/* Created on:     2008-11-10 23:39:24                          */
/*==============================================================*/


alter table
"emp"
   drop constraint FK_EMP_REFERENCE_DEPT;

drop table
"dept" cascade constraints;

drop table
"emp" cascade constraints;

drop table
"salgrade" cascade constraints;

/*==============================================================*/
/* Table: "dept"                                                */
/*==============================================================*/
create table dept  (
   deptno             NUMBER(11)                         not null,
   dname              VARCHAR2(15)                    not null,
   loc                VARCHAR2(15)                    not null,
   constraint PK_DEPT primary key (deptno)
);

/*==============================================================*/
/* Table: "emp"                                                 */
/*==============================================================*/
create table emp  (
   empno              NUMBER(11)                         not null,
   deptno             NUMBER(11),
   ename              VARCHAR2(15)                    not null,
   sal                NUMBER(11)                         not null,
   job                VARCHAR2(15)                    not null,
   mgr                NUMBER(11)                         not null,
   hirdate            DATE                            not null,
   comm               NUMBER(11)                         not null,
   constraint PK_EMP primary key (empno)
);

/*==============================================================*/
/* Table: salgrade                                           */
/*==============================================================*/
create table salgrade  (
   grade              NUMBER(11)                         not null,
   losal              NUMBER(11)                         not null,
   hisal              NUMBER(11)                         not null,
   constraint PK_SALGRADE primary key (grade)
);

alter table emp
   add constraint FK_EMP_REFERENCE_DEPT foreign key (deptno)
      references dept (deptno);

三、測試要求及語句

/**
*公司工資最高的員工列表 子查詢
*/

select t.ename,t.sal from emp t where t.sal =
(
  select max(sal) from emp
)

/**
*查詢每一個員工的經(jīng)理人及自己的名字
*/

select e1.ename,e2.ename  from emp e1 join emp e2 on (e1.mgr = e2.empno)

/**
*查詢公司平均薪水的等級
*/

select s.grade from  salgrade s where
(select avg(t.sal) from emp t) between s.losal and s.hisal

/**
*求部門中那些人的工資最高
*/

select d.dname,ename,sal from
(select t.deptno,ename,sal from
   (select deptno,max(sal) as max_sal from emp group by deptno) e
   join emp t on (e.deptno = t.deptno and t.sal = max_sal)
) et
join dept d on (d.deptno = et.deptno)  

/**
*查詢部門平均薪水的等級
*/

select d.dname,avg_sal,grade from
(select  deptno,avg_sal,grade from
  (select deptno,avg(sal) as avg_sal from emp group by deptno) e
    join salgrade s on (e.avg_sal between s.losal and s.hisal )
) es
join dept d on (es.deptno = d.deptno)

/**
*求部門的平均薪水等級
*/


  select deptno,avg(grade) from
    (select deptno,grade from emp e join salgrade s on (e.sal between s.losal and s.hisal)) t
  group by t.deptno
  
/**
* 求那些人是經(jīng)理人
*/
  
  select ename from emp e
   where empno in (select distinct mgr from emp)

/**
*不準(zhǔn)用組函數(shù) 求薪水的最高值
*/
  
select ename from emp
where empno not in
(select distinct e1.empno from emp e1
  join emp e2 on (e1.sal<e2.sal)
)

/**
*平均薪水最高的部門編號與名稱
*/

select d.deptno,dname  from
   (select deptno,avg(sal) avg_sal  from emp group by deptno) t1
   join dept d on (d.deptno = t1.deptno)
where avg_sal =
  (select max(avg_sal) from
   (select deptno,avg(sal) avg_sal  from emp group by deptno) t2
  )

/**
*求平均薪水的等級最低的部門名稱
*/

select dname  from dept d
where d.deptno in (  
   select deptno from
   (
     select deptno,grade from
       (select deptno,avg(sal) avg_sal  from emp group by deptno) t1
        join salgrade g on (avg_sal between g.losal and g.hisal)
   ) t2
   where t2.grade =
   (
     select min(grade)  from
     (
       select deptno,grade from
         (select deptno,avg(sal) avg_sal  from emp group by deptno) t1
          join salgrade g on (avg_sal between g.losal and g.hisal)
     ) t3
   )
)

/**
*求部門經(jīng)理人中平均薪水最低的部門名稱
*/

select d.dname,t1.avg_sal from dept d
  join
  (
   select deptno,avg(sal) avg_sal from
     (
       select e2.deptno,e2.ename,e2.sal from emp e1
        join emp e2 on (e1.mgr = e2.empno)
     ) t
   group by deptno
  ) t1
   on (d.deptno = t1.deptno)
where avg_sal =
(
   select min(avg_sal) from
   (
     select deptno,avg(sal) avg_sal from
     (
       select e2.deptno,e2.ename,e2.sal from emp e1
        join emp e2 on (e1.mgr = e2.empno)
     ) t
     group by deptno
   )
)
/**
*求必普通員工的最高薪水還要高的經(jīng)理人名稱
*/

select ename from
(
   select e2.ename,e2.empno,e2.sal from emp e1
    join emp e2 on (e1.mgr = e2.empno)
) t
where t.sal >
(
   select max(e.sal) from emp e
   where e.empno not in
   (
     select e1.mgr from emp e1
      join emp e2 on (e1.mgr = e2.empno)
   )
)


/**
*求薪水最高的第6名到10名雇員
*/

SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM (select e1.ename,e1.sal from emp e1 order by e1.sal desc)) A
WHERE ROWNUM <= 10
)
WHERE RN >= 6

http://www.zhuoda.org/lunzi/98685.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP