Oracle_子查询

子查询  
--如何查得所有比“CLARK”工资高的员工的信息
select ename, sal from emp where ename = 'CLARK';
select;
 
select * 
from emp
where sal>(
      select sal
      from emp
      where ename='CLARK'
);
 
 
--查询工资高于平均工资的雇员名字和工资
select ename, sal
from emp
where sal>(
      select avg(sal)
      from emp
);
 
 
--查询和SCOTT同一部门且比他工资低的雇员名字和工资
select ename,sal
from emp
where deptno=(
      select deptno
      from emp
      where ename = 'SCOTT'
) and sal<(
      select sal
      from emp 
      where ename = 'SCOTT'
)
 
--查询工资最高的雇员名字和工资
select ename, sal
from emp 
where sal=(
      select max(sal)
      from emp

);  

any/all/in
--查询工资低于任何一个“CLERK”的工资的雇员信息。
--any:与子查询结果的任意一条记录进行比较
select *
from emp
where sal < any(
      select sal from emp where job='CLERK'
);
 
--查询工资比所有的“SALESMAN”都高的雇员的编号、名字和工资。
--all:与子查询结果的所有记录进行比较
select empno, ename, sal
from emp
where sal>all(
      select sal
      from emp
      where job='SALESMAN'
)
 
--查询部门20中职务同部门10的雇员一样的雇员信息。
select * 
from emp
where job in(
      select job 
      from emp
      

);  

--查询在雇员中有那些人是有下属的
sekect * 
from emp
where empno in(
      select distinct mgr 
      from emp
);
 
--找出部门编号为20的所有员工中收入最高的职员
select * 
from emp 
where sal=(
      select max(sal)
      from emp 
      
);
 
 
--查询每个部门的平均薪水等级
select deptno, avg(sal) from emp group by deptno;
 
 
select temp.deptno, temp.avg_sal, s.grade
from salgrade s, (
     select deptno, avg(sal) avg_sal
     from emp
     group by deptno
) temp
where temp.avg_sal between s.losal and s.hisal;
 
 
select temp.deptno, d.dname, temp.avg_sal, s.grade
from salgrade s, (
     select deptno, avg(sal) avg_sal
     from emp
     group by deptno
) temp, dept d
where temp.avg_sal between s.losal and s.hisal

and temp.deptno = d.deptno;  

 

Oracle_子查询的更多相关文章

  1. 深入理解MySql子查询IN的执行和优化

    IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT dr ...

  2. Mysql - 性能优化之子查询

    记得在做项目的时候, 听到过一句话, 尽量不要使用子查询, 那么这一篇就来看一下, 这句话是否是正确的. 那在这之前, 需要介绍一些概念性东西和mysql对语句的大致处理. 当Mysql Server ...

  3. 在SQL Server中为什么不建议使用Not In子查询

        在SQL Server中,子查询可以分为相关子查询和无关子查询,对于无关子查询来说,Not In子句比较常见,但Not In潜在会带来下面两种问题: 结果不准确 查询性能低下       下面 ...

  4. 读书笔记--SQL必知必会11--使用子查询

    11.1 子查询 查询(query),任何SQL语句都是查询.但此术语一般指SELECT语句. SQL还允许创建子查询(subquery),即嵌套在其他查询中的查询. 作为子查询的SELECT语句只能 ...

  5. 你真的会玩SQL吗?无处不在的子查询

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  6. Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)

    Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...

  7. 当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式。

    当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式.比如 select * from T_Employee where FNumber not in ( select top 5*  ...

  8. Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  9. [转]HQL中的子查询

    原文地址:http://blog.csdn.net/xb12369/article/details/8638683 子查询:   子查询是SQL语句中非常重要的功能特性,它可以在SQL语句中利用另外一 ...

随机推荐

  1. Concurrency Is Not Parallelism (Rob pike)

    Rob pike发表过一个有名的演讲<Concurrency is not parallelism>(https://blog.golang.org/concurrency-is-not- ...

  2. Notepad++使用教程

    Notepad++ 快捷键 大全 Ctrl+C 复制Ctrl+X 剪切Ctrl+V 粘贴Ctrl+Z 撤消Ctrl+Y 恢复Ctrl+A 全选Ctrl+F 键查找对话框启动Ctrl+H 查找/替换对话 ...

  3. Webpack 2 视频教程 009 - 配置 ESLint 实现代码规范自动测试 (上)

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  4. Head First设计模式之桥接模式

    一.定义 桥接模式(Bridge Pattern),将抽象部分与它的实现部分分离,使的抽象和实现都可以独立地变化. 主要解决:在多维可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活. 何时使 ...

  5. Hibernate学习笔记(5)---Query接口

    Hibernate中具有三种检索方式(HQL,QBC,SQL) Query接口 一个查询接口,用于向数据库中查询对象.并控制执行查询的过程.Query接口内封装了一个HQL查询语句. 举个栗子 //查 ...

  6. 一个简单JDK动态代理的实例

    动态代理的步骤: 创建一个实现了InvocationHandler接口的类,必须重写接口里的invoke()方法. 创建被代理的类和接口 通过Proxy的静态方法 newProxyInsatance( ...

  7. 机器学习笔记3-Tensorflow简介

    前言 前面两篇主要写了一些机器学习的基础概念,从本篇开始我们来了解下深度学习.深度学习是机器学习的一个子集,是一种特殊的数学模型.同样是从输入到输出,深度学习在这两者之间会有很多层称为"隐层 ...

  8. 8086cpu中的标志寄存器与比较指令

    在8086CPU中有一个特殊的寄存器--标志寄存器,该寄存器不同于其他寄存器,普通寄存器是用来存放数据的读取整个寄存器具有一定的含义,但是标志寄存器是每一位都有固定的含义,记录在运算中产生的信息,标志 ...

  9. 使用Python实现的杨辉三角

    def triangel(): print ' '*(20*3)+str(1) #定义起始两行 print ' '*(19*3)+str(1)+' '*5+str(1) for i in range( ...

  10. Adobe Acrobat pro生成PDF模版

    最近做了一个关于动态生成PDF合同的需求  java生成PDF 网络上随便一搜遍有了 不要用手动在代码里面输入合同中的文字这种方式 如这样的方式 http://blog.csdn.net/justin ...