高级查询练习

/*--------------------------------------------- 分组查询 -------------------------------------*/

create table empployee_demo(

empno number(4) not null primary key, --员工编号,主键

ename varchar2(10) not null unique, --员工名,唯一键

job varchar2(9), --职位、工作

mgr number(4), --经理编号

hiredate date default sysdate, --入职日期,默认约束

sal number(7,2) check(sal>=500 and sal<=10000), --工资

comm number(7,2), --资金

deptno number(2) --部门编号

)

--28.按各部门的'办事员'分别统计薪资情况,且平均大于1000的

select deptno,avg(sal) avgsal from employee

where job ='CLERK'

group by deptno

having avg(sal)>1000

--29. 显示非销售人员工作名称以及从事同一工作雇员的月工资的总和,

--并且要满足从事同一工作的雇员的月工资合计大于$5000,输出结果按月工资排序。

select sal from employee

where job !='saleman'

group by job

having sum(sal) >5000

order by sal;

--30. 查询出各部门的部门编号以及各部门的总工资和平均工资。

select deptno,sum(sal),avg(sal) from employee

group by deptno

--31. 按男生和女生统计JAVA和ORACLE成绩的总分和平均分?

-- 1) 建表

CREATE table STUDENT2(

STUNO CHAR(4) not null primary KEY,

STUNAME VARCHAR2(20),

GENDER CHAR(2),

JAVASCORE INTEGER,

ORACLESCORE INTEGER

);

--2)插入记录

INSERT INTO STUDENT2 VALUES('1000','JAMES','男',88,78);

INSERT INTO STUDENT2 VALUES('1001','JACK','男',86,79);

INSERT INTO STUDENT2 VALUES('1002','ANDY','女',76,78);

INSERT INTO STUDENT2 VALUES('1003','SAMMY','女',77,76);

--3)按性别统计成绩:平均分,总成绩等

select avg(javascore),avg(oraclescore),gender from student2

group by gender

----高级查询---

--创表

create table employee as select * from scott.emp;

create table department as select * from scott.dept;

create table salgrade as select * from scott.salgrade;

--employee表结构

EMPNO NUMBER(4)

ENAME VARCHAR2(10) Y

JOB VARCHAR2(9) Y

MGR NUMBER(4) Y

HIREDATE DATE Y

SAL NUMBER(7,2) Y

COMM NUMBER(7,2) Y

DEPTNO NUMBER(2) Y

--deparment表结构

DEPTNO NUMBER(2)

DNAME VARCHAR2(14) Y

LOC VARCHAR2(13) Y

--salgrade表结构

GRADE NUMBER Y

LOSAL NUMBER Y

HISAL NUMBER Y

--32. 查询部门在‘NEW YORK’工资低于4000,不是‘CLERK’的员工?

select * from employee e

left join department d

on e.deptno = d.deptno

where sal<4000 and job != 'CLERK' and loc ='NEW YORK'

--33. 查询部门在‘CHICAGO’,在1981年入职,工资在2000~4000的员工?

select * from employee e

left join department d

on e.deptno = d.deptno

where sal between 2000 in 4000 and loc = 'CHICAGO' and extract( year from hiredate) = 1981

--34:查询员工及所在的部门信息(部门号,部门名,所在城市)

select ename,e.deptno,dname,loc from employee e

left join department d on e.deptno = d.deptno;

--35:查询在10号部门号的员工及部门信息(部门号,部门名,所在城市)

select ename,e.deptno,dname,loc from employee e

left join department d on e.deptno = d.deptno

where e.deptno = 10

--36:查询工资低于3000,工作是clerk和salman,部门在"芝加哥”的员工基本信息和员工的部门信息。

select e.*,,d.dname,d.loc

from employee e

left join department d on e.deptno = d.deptno

where sal <3000 and (job ='CLERK' or job = 'SALMAN') and loc ='CHICAGO'

/*

37: 问题:查看每个员工的工资等级情况

1等级-->显示为:临时工

2等级-->显示为:苦力工

3等级-->??

*/

select e.*,decode(grade,1,'苦力',2,'临时工','其他')from employee e,salgrade

where sal between losal and hisal

-- 38.查询有上级领导的员工信息以及他的上级领导的信息。显示为:谁(工人)为谁(上级)工作

select e.name 员工,boss.name 上司 from employee e,employee boss

where e.mgr = boss.empno

oracle判断数字为复数,oracle学习笔记(十二) 查询练习(二) 高级查询相关推荐

  1. oracle 判断数字是否连续,oracle中 如何 判断 表中字段是否为 连续的数字,例如‘3333333333',‘44444444’...

    oracle中 如何 判断 表中字段是否为 连续的数字,例如'3333333333','44444444' (2011-09-23 15:42:45) 标签: 判断 字段是否为 连续的数字 杂谈 分类 ...

  2. oracle中如何格式化输出,【学习笔记】数据库日期时间格式化输出案例

    天萃荷净 分享一篇关于开发DBA在工作中常用到的日期时间格式化输出方法案例,含:mysql.sql server.oracle 3种数据库日期时间格式化输出 1.mysql数据库时间格式化输出 DAT ...

  3. oracle停止job任务视图,【学习笔记】Oracle dba_datapump_jobs中not running作业的清除方法...

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库JOBS作业控制的文章.关于dba_datapump_jobs中的not running的作业的清除的方法. not runnin ...

  4. oracle数据库修改写入状态,【学习笔记】Oracle oradebug 使用oradebug修改数据库SCN方法案例...

    天萃荷净 使用oradebug修改数据库scn,使用oradebug修改数据库scn的案例. 这里也做了两个测试,发现该功能确实很巧妙,通过修改内存中的scn值,然后写入控制文件和数据文件,实现修改s ...

  5. oracle rac添加监听,【学习笔记】Oracle 10G RAC增加节点时手动注册监听服务的案例步骤...

    [学习笔记]Oracle 10G RAC增加节点时手动注册监听服务的案例步骤 时间:2016-10-22 22:53   来源:Oracle研究中心   作者:HTZ   点击: 次 天萃荷净 Ora ...

  6. Oracle中用system存数据,【学习笔记】Oracle表空间 数据存放system表空间影响数据库性能...

    天萃荷净 分享一篇,关于Oracle数据库system表空间研究,不能将用户数据存放在system表空间的原因 为什么不建议客户把业务数据存放到SYSTEM表空间中,一直想通过试验的数据来说明问题,今 ...

  7. oracle 下bdump占用大,【学习笔记】Oracle oradebug 利用oradebug释放被删除文件空间的案例...

    天萃荷净 利用oradebug释放被删除文件空间,运维DBA反映系统空间不足,由于trace跟踪文件占用,删除后不能释放空间,分析原因为oracle进程句柄占用 在很多时候,检查系统时候发现,由于某个 ...

  8. oracle dg 增加redo组,【学习笔记】Oracle Data Guard 修改dataguard主库redo组数和大小

    天萃荷净 运维DBA反映检查到Oracle DataGuard环境redo日志较小,总结一下修改dataguard主库redo组数和大小方法 在一个dg环境中,配置的是实时同步,需要增加主库的redo ...

  9. oracle复制另一个字段,【学习笔记】Oracle存储过程 表中列不同时动态复制表中数据到另一个表中...

    天萃荷净 分享一篇关于Oracle存储过程实现表之间数据复制功能.两表中列不同,动态的将一表中的数据复制到另一个表中案例 因为要用到回收站功能,删除一条记录,要先放到一个delete表中,以便以后恢复 ...

  10. oracle rac 仲裁盘_【学习笔记】深入研究Oracle RAC节点驱逐的条件和案例

    天萃荷净 Oracle研究中心学习笔记:分享一篇关于Oracle数据库RAC环境中节点间管理的文章,详细介绍了RAC节点驱逐条件和管理方法. 本站文章除注明转载外,均为本站原创: 转载自loveOra ...

最新文章

  1. 【TCP/IP详解 卷一:协议】第十二章 广播和多播
  2. xmind快速上手使用教程,提高工作效率
  3. MaxCompute2.0性能评测:更强大、更高效之上的更快速
  4. 关于HTML、js加密、混淆、源码保护、代码安全,防止解压直接看源码
  5. 单元素枚举类实现单例模式
  6. 中兴5G和展锐原厂芯片开发,怎么选?
  7. Fragment生命周期及其使用
  8. Mr.J-- HTTP学习笔记(九)-- Web机器人
  9. RoboBee和RoboFly领衔微型昆虫机器人:从“上天入海”到“挣脱束缚”
  10. 【强烈推荐】Java入门基础笔记,超全!
  11. 芒果db怎么连mysql_MongoDB 芒果数据库的使用
  12. 【C#】基于Opencv/Emgucv的身份证识别
  13. OS学习笔记-21(清华大学慕课)文件系统
  14. 如何对研发团队绩效进行考核?【附各环节人员考核参考表】
  15. msp430单片机c语言应用程序,MSP430单片机C语言应用程序设计实例精讲
  16. excel2007整体调整行间距
  17. SQL Server日期数据类型DATE的使用
  18. Unity - Timeline 之 Panning and zooming the Clips view(移动与缩放Clip剪辑视图)
  19. memcpy函数优化及DMA对比
  20. 8点1氪|苹果第一财季营收843亿美元;VIPKID拟融资4-5亿美元;工信部称5G终端将于年中推出...

热门文章

  1. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_5_综合案例_文件搜索...
  2. 【共读Primer】8.[2.1] 基本内置类型(2) Page32
  3. 【字符知识】SGML 类语言(Eg.HTML)字符转义
  4. 关于springMVC的日志管理
  5. 每当Xcode升级之后,都会导致原有的Xcode插件不能使用,解决办法
  6. 哈希(1) hash的基本知识回顾
  7. 美国数据不佳美元仍跳升,只因欧元区问题更多
  8. FlasCC例子研究之bitmapdata
  9. OpenCV2:幼儿园篇 第七章 界面事件
  10. Struts2报错异常Method setUser failed for object com.mikey.action.ConverterAction@dd34285