综合练习

1.列出薪金高于部门30工作的所有员工的薪金的员工姓名和薪金、部门名称、部门人数。
确定要使用的数据表:
emp:姓名、薪金
dept:部门名称
emp:部门人数
确定已知关键字:雇员和部门
e.deptno = d.deptno;
①找出部门30工作的所有员工的薪金

select    sal
from  emp e
where e.deptno=30;

②如果返回的结果是多行单列,应该在where里面使用子查询语句,判断词有(in、any、all)
员工姓名和薪金

select e.ename,e.sal
from emp e
where sal>all(select  sal
                      from  emp e
                      where e.deptno=30);

③部门名称

select e.ename,e.sal,d.dname
from emp e,dept d
where sal>all(select  sal
                      from  emp e
                      where e.deptno=30) and e.deptno=d.deptno;

④部门人数

select deptno dno,count(empno)
from emp
group by deptno;
select e.ename,e.sal,d.dname,temp.count
from emp e,dept d,(
   select deptno dno,count(empno) count
   from emp
   group by deptno
   )temp
where sal>all(select  sal
                      from  emp e
                      where e.deptno=30)  
                      and e.deptno=d.deptno 
                      and temp.dno=d.deptno;
chaxun.png

2.列出与scott从事相同工作的所有员工及部门名称,部门人数,及领导姓名。
确定相关联的表:
emp表:员工信息;
dept表:部门名称;
emp表:统计部门人数;
emp表:领导姓名
相关联的字段:
雇员和部门:e.deptno=d.deptno
雇员和领导:emp.mgr = memp.empno
①列出从事scott工作的员工,此查询返回单行单列,一般用where或having条件

select job from emp where ename='SCOTT';
scott.png

②找到所有符合此要求的雇员信息

select e.ename,e.job,e.sal
from emp e
where e.job=(
            select job
            from emp
            where ename='SCOTT'
);

③部门名称

select e.ename,e.job,e.sal,d.dname
from emp e,dept d
where e.job=(
            select job
            from emp
            where ename='SCOTT'
            and e.deptno=d.deptno);

④领导姓名

select e.ename,e.job,e.sal,d.dname,temp.count,
m.ename
from emp e,dept d,(
    select deptno dno,count(empno) count
    from emp
         group by deptno)temp,emp m
where e.job=(
    select job
    from emp 
    where ename='SCOTT') 
        and e.deptno=d.deptno
        and d.deptno=temp.dno
        and e.mgr=m.empno;

⑤消除掉scott的用户

select e.ename,e.job,e.sal,d.dname,temp.count,
m.ename
from emp e,dept d,(
    select deptno dno,count(empno) count
    from emp
         group by deptno)temp,emp m
where e.job=(
    select job
    from emp 
    where ename='SCOTT') 
        and e.deptno=d.deptno
        and d.deptno=temp.dno
        and e.mgr=m.empno
        and e.ename<>'SCOTT';
scott.png

3.列出薪金比“SMITH”或“ALLEN”多的所有员工的编号,姓名,部门名称,其领导姓名,部门人数,平均工资、最高及最低工资。
确定相关表:
emp:员工的编号,姓名;
dept:部门名称;
emp:领导信息;
emp:统计部门数据
相关字段:
雇员和部门:e.deptno=d.deptno
雇员和领导:emp.mgr = memp.empno
①列出"SMITH"或''ALLEN''

select sal
from emp
where ename in ('SMITH','ALLEN');

②以上查询返回的是多行单列数据,应该在where字句中使用它。列出薪金比“SMITH”或“ALLEN”多的所有员工

select e.empno,e.ename,e.sal
from emp e
where e.sal>any(
          select sal
          from emp
          where ename in('SMITH','ALLEN'))
          and ename not in('SMITH','ALLEN'); 

③找到领导信息

select e.empno,e.ename,e.sal,m.ename
from emp e,emp m
where e.sal>any(
          select sal
          from emp
          where ename in('SMITH','ALLEN'))
          and ename not in('SMITH','ALLEN')
          and e.mgr=m.empno; 

④部门人数,平均工资、最高及最低工资。

select e.empno,e.ename,e.sal,m.ename,temp.count,
temp.avg,temp.max,temp.min,d.dname
from emp e,emp m,(
    select deptno dno,count(empno)count,
    avg(sal) avg,max(sal) max,min (sal) min
    from emp
    group by deptno) temp,dept d
    where e.sal>any( 
            select sal
            from emp
            where 
            ename in('SMITH','ALLEN'))
            and e.ename not in('SMITH','ALLEN')
            and e.mgr=m.empno(+)
            and temp.dno=d.deptno
            and e.deptno=d.deptno;
avg.png

4.列出受雇日期早于其直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。
确定要使用的数据表:
emp:员工的编号、姓名
dept:部门名称、部门位置
emp:部门人数
emp:找到领导雇用日期,作为自身关联使用
确定已知的关联字段:
雇员和领导:emp.mgr = memp.empno
雇员和部门:emp.deptno = dept.deptno
①列出受雇日期早于其直接上级的所有员工的编号、姓名

select e.empno,e.ename
from emp e,emp m
where e.mgr = m.empno(+) and e.hiredate 
< m.hiredate;

②部门名称、部门位置

select e.empno,e.ename,d.dname,d.loc
from emp e,emp m,dept d
where e.mgr = m.empno(+)
      and e.hiredate < m.hiredate
      and e.deptno = d.deptno;

③部门人数

select e.empno,e.ename,d.dname,d.loc,temp.count
from emp e,emp m,dept d,(
    select deptno dno,count(empno) count
    from emp
    group by deptno)temp
    where e.mgr = m.empno(+)
      and e.hiredate < m.hiredate
      and e.deptno = d.deptno
      and d.deptno = temp.dno;
图片.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容

  • 主流关系型数据库 关系型数据库存储数据的特点 结构化查询语言: 数据类型: select * from emp; ...
    陈先森mansplain阅读 672评论 0 0
  • 笔记: 一、聚合函数:计数 最大值 最小值 平均数 求和 1.计数 COUNT() 忽略NULL值 方式1:COU...
    凤之鸠阅读 5,200评论 0 1
  • 1. select * from emp; 2. select empno, ename, job from em...
    海纳百川_4d26阅读 1,897评论 0 4
  • 绵绵春风又化雨 添江湖几笔 山茶开时初遇你 洛阳绣花衣 黑夜里你掩面而泣 我抚笛为你奏一曲 听闻他年少时离去 落花...
    晓晓博士阅读 1,513评论 0 0
  • 《拼的是现在,比的是将来》 拖延症,这也是人性的弱点。即便你是一位职业经理人,即便你训练有素,你的心中或许都有放纵...
    琳小喵阅读 241评论 0 0