Oracle【子查询】
Oracle子查询:当一个查询依赖于另外一个查询的结果的时候,就需要使用子查询。
单行子查询 :
筛选条件不明确,需要执行一次查询且查询结果只有一个字段且字段值只有一个。
注意:where子句中允许出现查询语句,该查询语句称为子查询。
使用:select 内容 from 表名 where 字段名 比较运算符 子查询语句
--查询所有比雇员'CLARK'工资高于员工的信息
select * from emp where sal>(select sal from emp where ename='CLARK');
--查询工资高于平均工资的员工的名字和工资
select ename,sal from emp where sal>(select avg(sal) from emp);
--查询和soctt属于同一部门且工资比他低的员工资料
select * from emp where deptno=(select deptno from emp where ename='SCOTT') and sal<(select sal from emp where ename='SCOTT');
--查询工资最高的员工资料
select * from emp where sal=(select max(sal) from emp);
--查询职务和SCOTT相同,雇佣时间早的员工信息
select * from emp where job=(select job from emp where ename='SCOTT') and hiredate < (select hiredate from emp where ename='SCOTT');
--查询工资比SCOTT高或者雇佣时间早的员工编号和姓名
select empno,ename from emp where sal>(select sal from emp where ename='SCOTT') or hiredate < (select hiredate from emp where ename='SCOTT');
多行子查询:
子查询的结果只有一个字段但是字段有n个值,考虑使用多行子查询,其实使用关键字
关键字1:any 任意
select 内容 from 表名 where 字段名 比较运算符 any 子查询语句
关键字2:all 所有
select 内容 from 表名 where 字段名 比较运算符 all 子查询语句
关键字3:in 表示任意存在,相当于 = any
select 内容 from 表名 where 字段名 in 子查询语句
select 内容 from 表名 where 字段名 not in 子查询语句
--查询工资高于任意一个CLERK的所有员工信息
select * from emp where sal> any (select sal from emp where job='CLERK');
--查询工资高于所有的SALESMAN的员工信息
select * from emp where sal> all (select sal from emp where job='SALESMAN');
--查询部门20中同部门10的雇员工作一样的雇员信息
select * from emp where job in (select job from emp where deptno=10) and deptno=20;
Oracle【子查询】的更多相关文章
- 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 ...
随机推荐
- 前端学习之JavaScript(1)
目录 一. JavaScript简介 二. 第一个JavaScript代码 三. 基本数据类型 四. 运算符 五. 数据类型转换 六. 流程控制 七. 常用内置对象 八. 函数 一. JavaScri ...
- .Netcore 2.0 Ocelot Api网关教程(4)- 服务发现
本文介绍Ocelot中的服务发现(Service Discovery),Ocelot允许指定一个服务发现提供器,之后将从中寻找下游服务的host和port来进行请求路由.关于服务发现的详细介绍请点击. ...
- idea设置背景色和字体大小
修改背景色 点击[File],选择[Settings]. 点击[Editor],选择[color Scheme]. 默认Scheme只有两种.Default是白色,Darcula是黑色 修改字体 ...
- linux下配置maven并修改maven源
参考文章 <Linux下Maven的安装与使用> <aliyun阿里云Maven仓库镜像地址> <maven国内镜像配置(Ubuntu)> 下载maven,具体目录 ...
- linux 网络相关
1. 配bond 模式 将eth0 和 eth1 绑定 ,master 为bond2 ,直接上文件 eth0 和 eth1 , 类似,如下 ,关键点 MASTER and SLAVE TYPE ...
- [转帖] 龙芯 中标麒麟的 源 以及K8S
龙芯Mips64el平台上部署K8s https://ysicing.me/posts/mips64el-loongson-k8s/ YSICING May 29 2019 kubernetes ...
- Web循环监控Java调用 / Java调用.net wcf接口
背景介紹 (Background Introduction) 目前有一些报表客户抱怨打不开 报表执行过程过长,5.8.10秒甚至更多 不能及时发现和掌握服务器web站点情况 用戶需求(User Req ...
- SQL Server 验证身份证合法性函数(使用VBScript.RegExp)
原文:SQL Server 验证身份证合法性函数(使用VBScript.RegExp) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wzy0623 ...
- localStorage 杂记
localStorage html5标准 Web 存储现在的主流浏览器,包括IE 8+.Chrome 4+.Firefox 3.5+.Opera 10.5+.Safari 4+.iPhone 2+.A ...
- Pycharm有必要改的几个默认设置项以及快捷键
最近在用Pycharm学习Python的时候,总有两个地方感觉不是很舒服,比如调用方法的时候区分大小写(thread就不会出现Thread,string就不会出现String)等,这让我稍稍有点不舒服 ...