美文网首页
Oracle学习(二)

Oracle学习(二)

作者: 喵镹_張 | 来源:发表于2020-02-07 18:19 被阅读0次

--======================================多表关联查询
--查询员工编号,员工姓名,员工部门编号,员工部门名称,员工部门地址,中文显示员工工资等级,及领导编号,领导姓名,领导部门编号,领导部门名称,中文显示领导工资等级

select * from salgrade;
select * from emp;
select * from dept;


select e.empno,e.ename,decode(s.grade,1,'一级',2.'二级',3,'三级',4,'四级',5,'五级')grade,d.dname,e1.empno,e1.ename,decode(s1.grade,1,'一级',2,'二级',3,'三级',4,'四级',5,'五级')grade from emp e,emp el,dept d,salgrades,salgrade s1 where e.mgr=e1.empno and e.deptno=d.deptno and e.sal between s.losal and s.hisal and el.sal between sl.losal and s1.hisal

--======================================外连接
--1.查询员工编号,姓名,领导编号,领导姓名,包括没领导的
----left join on方式

select e1.empno,e1.ename,e2.empno,e2.ename from emp e1 left join emp e2 where e1.mgr on e2.empno;

----Orcl的(+)方式

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

--2.查询出所有部门信息(包括没员工的部门)及部门下的员工信息

select * from emp,dept where emp.deptno(+)=dept.deptno;      --(+) 写在哪,就以对面为准

--===========子查询
--1.查询比雇员7654工资高,同时从事和7788的工作一样的员工

select * from emp where sal> (select sal from emp where empno=7654)
and job = (select job from emp where empno=7788);

--2.查询每个部门最低工资及最低工资的部门名称和雇员名称

select emp.empno,emp.ename,e1.minsal,e1.deptno from (select min(sal) minsal,deptno from emp group by deptno) e1,emp,dept
where e1.deptno = dept.deptno and emp.deptno = e1.deptno and e1.minsal=emp.sal;


select min(sal) minsal,deptno from emp group by deptno--查询最低工资
select * from dept;
select * from emp;

--===========课堂练习
--1.找到员工表中工资最高的前三名

select rownum,e.* from  (select emp.* from emp order by sal desc) e where rownum <=3;

--2.找到员工表中薪水大于本部门平均工资的所有员工

select emp.empno,emp.ename,e1.avgsal,e1.deptno,emp.sal from (select avg(sal) avgsal,deptno from emp group by deptno) e1,emp
where e1.deptno = emp.deptno and e1.avgsal < emp.sal;


select avg(sal) avgsal,deptno from emp group by deptno;--平均工资

相关文章

  • Oracle学习(二)

    --======================================多表关联查询--查询员工编号,员工...

  • Oracle学习笔记(二)

    Oracle数据类型: 字符型:固定长度的字符类型:CHAR(n)(n最大值为2000)、NCHAR(n)(支持U...

  • sqlserver转oracle 目录

    目录 1.sqlserver转oracle(一) oracle创建用户2.sqlserver转oracle(二) ...

  • Docker安装Oracle,并使用navicat连接Oracl

    查找oracle镜像docker search oracle 我们选择学习版,不选择完整版oracle-xe-11...

  • 相老师的OCP教程 1-5课文字版

    甲骨论相老师01课笔记 Oracle的学习软件:sqldeveloper。学习Oracle时一定要注重原理的学习,...

  • Oracle学习

    自己一些关于Oracle练习整理 一、Oracle体系结构1、概念关系数据库与实例:Oracle只有一个数据库,但...

  • Oracle学习

    sqlplus操作: 1.在sqlplus下使用命令ed a 会创建一个文件夹,在其中写入sql命令,然后使用@a...

  • Oracle 学习

    1、查询表空间位置 select * from dba_data_files; 2、创建临时表空间(注意:将tem...

  • Oracle学习

    学习

  • Oracle学习笔记(二):SQL基础

    自己学习Oracle的相关笔记,主要备忘,并不详细,如有错误欢迎大家指正~~~ Oracle基础语法 DDL使用C...

网友评论

      本文标题:Oracle学习(二)

      本文链接:https://www.haomeiwen.com/subject/ugomxhtx.html