oracle--子查询--bai
-- 1 创建视图 show_max_sal_name_view 显示工资最高的员工姓名及他的工资
create or replace view show_max_sal_name_view as
select ename,sal from scott.emp where sal=(select max(sal) from scott.emp); select * from show_max_sal_name_view;
--2 创建视图 show_min_sal_dname 显示平均工资最低的部门的部门名及平均工资
--先按部门统计平均工资
select deptno,avg(sal) from scott.emp group by deptno;
--获得最低的平均工资
select min(avg(sal))from scott.emp group by deptno;
--获得最低平均工资及其部门号
select * from
(select deptno,avg(sal) 平均工资 from scott.emp group by deptno) t
where t.平均工资 =
(select min(avg(sal)) from scott.emp group by deptno);
--获得最低平均工资及其部门名 创建视图
create or replace view show_min_sal_dname as
select * from
(select deptno,avg(sal) 平均工资 from scott.emp group by deptno) t
where t.平均工资 =
(select min(avg(sal)) from scott.emp group by deptno); --3 创建视图 show_leader_name 显示所有员工的名字和他们上级领导名。 (难)
--使用mgr字段进行emp表的“自关联”
select e1.ename as 员工名字,e2.ename as 领导名字 from scott.emp e1,scott.emp e2
where e1.mgr=e2.empno
union
select ename,'无领导'from scott.emp where mgr is null; ========================================================================================================= -- 把空替换成0
update scott.emp set comm = '0' where comm is null;
--查出下级比上级 工资+奖金 高的员工编号,员工姓名
create view show_higher_empee as
select * from(
select e1.empno,e1.ename as 本人姓名,e2.ename as 领导姓名,e1.sal+nvl(e1.comm,'0') as 本人总收入,
e2.sal+nvl(e2.comm,'0') as 领导总收入
from scott.emp e1,scott.emp e2 where e1.mgr=e2.empno
) where 本人总收入>领导总收入; --采用join连接 select * from
(
select e1.empno,e1.ename as 本人姓名,e2.ename as 领导姓名,
e1.sal+nvl(e1.comm,'0') as 本人总收入,
e2.sal+nvl(e2.comm,'0') as 领导总收入
from scott.emp e1 inner join scott.emp e2 on e1.mgr=e2.empno
)
where 本人总收入>领导总收入; select * from show_higher_empee;
oracle--子查询--bai的更多相关文章
- Oracle子查询相关内容(包含TOP-N查询和分页查询)
本节介绍Oracle子查询的相关内容: 实例用到的数据为oracle中scott用户下的emp员工表,dept部门表,数据如下: 一.子查询 1.概念:嵌入在一个查询中的另一个查询语句,也就是说一个查 ...
- oracle 子查询和组合函数
oracle 子查询和组合函数 --查询与"SCOTT"在同一个部门的员工 select empno,ename,deptno from emp where deptno in ( ...
- 一道Oracle子查询小练习
一道Oracle子查询小练习 昨天晚上躺在床上看Oracle(最近在学习这个),室友说出个题目让我试试.题目如下: 有如下表结构,请选择出成绩为前三名的人的信息(如果成绩相同,则算并列),表名为t ...
- Oracle 子查询
1.子查询在SELECT.UPDATE.DELETE语句内部可以出现SELECT语句.内部的SELECT语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表.子查询的类型有: ① 单 ...
- oracle 子查询因子化 浅谈(with的使用)
近来学习oracle,想要提高自己所写语句的效率和易读性,今天的笔记是关于子查询因子话这么一个东西 因子化的查询不一定可以提高效率,但是一定可以再提高程序的可读性方面成效显著 --with 语句 wi ...
- Oracle子查询之高级子查询
Oracle 高级子查询 高级子查询相对于简单子查询来说,返回的数据行不再是一列,而是多列数据. 1,多列子查询 主查询与子查询返回的多个列进行比较 查询与141号或174号员工的manager_id ...
- Oracle子查询之简单子查询
Oracle 简单子查询 顾名思义,简单子查询是嵌套在 SQL 语句中的另一个SELECT 语句,并且子查询只返回一列数据 1,单行子查询: 子查询 (内查询) 在主查询之前一次执行完成.子查询的结果 ...
- Oracle子查询和多表查询
多表查询需要用到表的连接 连接可以分为:(自行百度) 交叉连接(数字逻辑的笛卡尔积,不做解释) 等值连接 例如:select * from t_a, t_b where t_a.xx = t_b.xx ...
- Oracle 子查询(复杂select语句)
在执行数据操作时,如果某个操作需要依赖于另外一个 select语句的查询结果,那么就可以把 select 语句迁入到该操作语句中,这样就形成了一个子查询.实际应用中,表与表之间相互关联,相互依存,这样 ...
- Oracle - 子查询、TOP - N
1 子查询 sql 中查询是可以嵌套的,一个查询的结果可以作为另外一个查询的条件.表. SELECT select_list FROM table WHERE expr operator (SELEC ...
随机推荐
- CentOS7安装docker
1. 查看系统版本 $ cat /etc/redhat-release 2. 安装docker $ yum install docker 3.检查安装是否成功$ docker version 若 ...
- Activity的释放
1.ActivityTwo.finish(); 在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法.当你调用此方法的时候,系统只是将最上面的Activity移出了栈, ...
- vim的高亮查找操作
使用了VIM这么久,却一直无法牢记一些基本的操作指令.今天查找一个关键字时,想不起来怎么查找“下一个”,于是google之并解决,顺便把有用的都贴过来罢. 查找指令:/xxx 往下查找?xxx 往上 ...
- 转载文章——Hadoop学习
转载地址:http://www.iteye.com/blogs/subjects/zy19982004?page=2 一.Hadoop社区版和发行版 社区版:我们把Apache社区一直开发的Hadoo ...
- Atitit.工作流 与 规则引擎
Atitit.工作流 与 规则引擎 1.1. 应用来说,通常分为三部分:界面.业务逻辑和存储1 1.2. 自定义操作系列1 1.3. 自定义按钮系列2 1.1. 应用来说,通常分为三部分:界面.业务逻 ...
- SQL Server 2012 新特性:FileTable
FileTable是基于FILESTREAM的一个特性.有以下一些功能: 一行表示一个文件或者目录. 每行包含以下信息: file_Stream流数据,stream_id标示符(GUID). 用户表示 ...
- Yii2 modal中 ajax提交表单
view: // view 代码 $form = ActiveForm::begin(['id' => $model->formName()]); // js 代码 $js = <& ...
- 04.ubuntu下kvm 命令行安装64位ubuntu报"Couldn't find hvm kernel for Ubuntu tree."的问题
1.安装ubuntu时使用的virt-install的配置: virt-install \ --name test4 \ --ram 1024 \ --disk path=/data/01_ubunt ...
- web前端(实习生)之 “百度一面”
2016.3.18,星期五.我经历了我的第一次面试. 不得不说,百度是一个高效的公司,在短短一下午之间我就直接经历了一面二面,说没有压力是假的,还记得在中途等待二面的时候我至少有一小段的时间脑子是卡带 ...
- JS中typeof与instanceof的区别
JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的: Typeof typeof 是一个一元运算,放在一个运算数之前 ...