文档章节

oracle 查询

shanxi_liyong
 shanxi_liyong
发布于 2015/05/31 11:01
字数 672
阅读 10
收藏 0


emp 雇员表
字段名称   数据类型       是否为空   备注
--------   -----------   --------   --------
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         所属部门
-------------------------------------------
job字段:
clerk 普员工
salesman 销售
manager 经理
analyst 分析师
president 总裁

                

dept 部门表
字段名称    数据类型          是否为空   备注
--------    -----------      --------   --------
DEPTNO   NUMBER(2)                    部门编号               
DNAME    VARCHAR2(14)    Y          部门名称        
LOC         VARCHAR2(13)   Y          部门所在地点
-------------------------------------------
DNAME字段:
accounting 财务部
research 研发部
operations 业务部
  
salgrade 工资级别表
字段名称  数据类型   是否为空  备注
--------  ---------  --------  --------
GRADE   NUMBER     Y         级别                
LOSAL    NUMBER     Y         最低工资               
HISAL     NUMBER     Y         最高工资

 1。多列子查询

单行子查询是指子查询只返回单列、单行数据,多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询是指查询返回多个列数据的子查询语句。
请思考如何查询与SMITH 的部门和岗位完全相同的所有雇员。
SELECT deptno, job FROM emp WHERE ename = 'SMITH';
SELECT * FROM emp WHERE (deptno, job) = (SELECT deptno, job FROM emp WHERE ename = 'SMITH');

2。用查询结果创建新表,这个命令是一种快捷的建表方式

CREATE TABLE mytable (id, name, sal, job, deptno) as SELECT empno, ename, sal, job, deptno FROM emp;

3、合并查询

有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,union all,intersect,minus。
多用于数据量比较大的数据局库,运行速度快。

1). union

该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉结果集中重复行。
SELECT ename, sal, job FROM emp WHERE sal >2500
UNION
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';
           

2).union all

该操作符与union相似,但是它不会取消重复行,而且不会排序。
SELECT ename, sal, job FROM emp WHERE sal >2500
UNION ALL
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';
该操作符用于取得两个结果集的并集。当使用该操作符时,不会自动去掉结果集中重复行。
               

3). intersect

使用该操作符用于取得两个结果集的交集。
SELECT ename, sal, job FROM emp WHERE sal >2500
INTERSECT
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';


4). minus

使用该操作符用于取得两个结果集的差集,他只会显示存在第一个集合中,而不存在第二个集合中的数据。
SELECT ename, sal, job FROM emp WHERE sal >2500
MINUS
SELECT ename, sal, job FROM emp WHERE job = 'MANAGER';
(MINUS就是减法的意思)



© 著作权归作者所有

共有 人打赏支持
上一篇: oracle 约束
下一篇: oracle set
shanxi_liyong
粉丝 10
博文 106
码字总数 37225
作品 0
太原
程序员
私信 提问
用链接服务器在异构数据库中查询数据

SQL Server提供了链接服务器用于分布式查询异构数据库。通过链接服务器可以链接到Oracle、Sybase、DB2、SQL Server等大型关系数据库,也可以连接到Access、Excel等文件数据库,甚至可以连接到...

浣熊干面包
2012/01/12
0
0
Oracle查询忽略大小写的实现方法

转自:http://database.51cto.com/art/201010/231561.htm Oracle查询有时候要受到一些条件的制约,比如大小写。下面为您介绍了一个实现Oracle查询忽略大小写的方法,如果您对Oracle查询方面感...

巴顿
2015/02/10
0
0
oracle大数据查询怎么优化

oracle大数据查询怎么优化oracle大数据查询怎么优化oracle大数据查询怎么优化oracle大数据查询怎么优化

AA制作
08/13
0
0
Oracle 11g R2 常见问题处理

--======================查询Oracle错误日志和警告日志 通过命令查看错误日志目录 SQL> show parameter backgrounddumpdest; 根据错误提示的PID:3159 模糊查询对应的错误日志 find -name "...

UltraSQL
07/23
0
0
Oracle、MySql、SQLServer 数据分页查询

Oracle、MySql、SQLServer 数据分页查询 最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一)、 mysql的分页查询 mysql的分页查...

什么是程序员
2016/11/13
6
0

没有更多内容

加载失败,请刷新页面

加载更多

AI赋能一键自动检测:页面异常、控件异常、文本异常

摘要: 1.前言 闲鱼质量团队一直致力于交付高质量的app给用户,当前随着AI技术不断发展,TensorFlow大热,也给测试手段带来了更多种可能,本文接下来给大家介绍AI在闲鱼测试的一点实践:如何...

阿里云官方博客
25分钟前
1
0
Microsoft Remote Desktop For Mac

地址:https://rink.hockeyapp.net/apps/5e0c144289a51fca2d3bfa39ce7f2b06/ 解决国内App store不能下载的问题。

Cheuker
36分钟前
1
0
原地打印刷新(倒计时)

原地打印刷新(倒计时) 代码如下 from time import sleepfor i in reversed(range(1, 11)): print("\r倒计时:{}秒".format(i), end="") sleep(1)...

_Change_
48分钟前
1
0
php,vue,vue-ssr 做出来的页面有什么区别?

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由shirishiyue发表于云+社区专栏 目前我这边的web页面,都是采用php+smarty模板生成的,是一种比较早期的开发模式。好处是没...

腾讯云加社区
55分钟前
3
0
安卓的切图规范

Android UI 切图命名规范、标注规范及单位描述 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的。IOS我这边暂不作讲解,因为我本人也不是开发IOS。这里整理一下我在Android...

mo311
59分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部