6、oracle数据库下查询操作
ORACLE下查询操作
针对数据库操作最多的就是数据查询,这里分享一个我常用的方法,看到需求后,先确定查询范围,就是需要查询哪些表;之后确定查询条件;最后写出查询的字段。
ORACLE中之前说过有两个伪列ROWID和ROWNUM,用来标识唯一的一条记录。
1.基本查询
对数据查询最简单的也就是单表查询了,查询使用的语法是:
SELECT [COLS] FROM [TABLE] [WHERE][CONDITION] |
平常查询时,一定会有条件,也就是使用到where关键字,之后接条件,这里的条件可以看之前的一篇文章【查询基础】。
这里针对单表查询,介绍一下分页的逻辑,oracle中没有mysql中的关键字limit,所以oracle中数据分页查询需要借助ROWNUM,具体如下:
-- 通用的分页SQL SELECT * FROM -- 具体分页SQL实例 |
2.连接查询
以下均以两张表连接查询为例
2.1 内连接
查询两张表符合条件的记录的交集
select * from emp,dept where emp.deptno=dept.deptno; select * from emp inner join dept on emp.deptno=dept.deptno; |
2.2 左外连接
将符合条件的左表中的所有数据查询出来,关联着右表中的数据,有则关联显示数据,无则显示null,两种写法
select e.name,d.name from emp e left join dept d on条件 或者是 select e.ename,d.name from emp e,dept d |
不可以在使用外连接的情况下使用in关键字
2.3 右外连接
将符合条件的右表中的所有数据查询出来,关联着左表中的数据,有则关联显示数据,无则显示null,两种写法
select e.name,d.name from dept d right join emp e on条件; 或者是 select e.ename,d.name from emp e,dept d |
2.4 自连接
就是给自己取个别名,然后当作两个表连接,自连接中可以使用外连接。
3.子查询
3.1 基础子查询
子查询可以简单的理解为一个查询的结果,作为另一个查询的条件,注意在子查询中不能使用order by关键字,排序必须在父查询中进行。如果子查询返回的结果是多行,而其父查询中使用的是比较运算符,将会出现错误。当内部select语句给外部的select语句返回一行或多行,在父查询中可以使用in,any,all等关键字。如下例子:
select deptno,sal from emp where (deptno,sal) in (select deptno,min(sal) from emp group by deptno); |
3.2 关联子查询
关联子查询指的是子查询引用与父查询相关的一列或多列,子查询需借助父查询,父查询也需借助子查询。此关联子查询可用exists关键字来实现如下例子:
-- 直接写关联子查询 select empno,ename,sal,deptno from emp outers |
3.3 子查询应用
一般子查询经常用在from关键字和where关键字之后,如下两个例子:
-- 在where之后用 select * from emp where sal>(select avg(sal) from emp) -- 在from之后用 select ename,dname from |
6、oracle数据库下查询操作相关推荐
- mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...
天萃荷净 将Oracle数据库查询出来的long结果转换为varchar2类型数据 来自Thomas Kyte <Oracle9i/10g/11g编程艺术> 12章节中.由于long的操作 ...
- 【干货】Oracle数据库常用十一大操作指令
相关文章导读 收藏 | 超详细的Oracle19c安装步骤_XMWS-IT-CSDN博客 DBA数据库管理必备认证:ORACLE OCP 19C 教材下载 Oracle数据库常用十一大操作指令 1. ...
- oracle表的历史数据转储过程,C#连接Oracle数据库通过存储过程操作数据库 - cuizm的专栏 - CSDN博客...
C#连接Oracle数据库通过存储过程操作数据库 收藏 此文于2011-06-07被推荐到CSDN首页 此文于2011-06-08被推荐到CSDN首页 如何被推荐? 之前笔者一直用C#连接SQL Se ...
- oracle表重命名 索引,CSS_在Oracle数据库中按用户名重建索引的方法,如果你管理的Oracle数据库下某 - phpStudy...
在Oracle数据库中按用户名重建索引的方法 如果你管理的Oracle数据库下某些应用项目有大量的修改删除操作, 数据索引是需要周期性的重建的. 它不仅可以提高查询性能, 还能增加索引表空间空闲空间大 ...
- Oracle 数据库简单日常操作
Oracle 数据库简单日常操作 目录 Oracle 数据库简单日常操作 SQL基础部分 1.简介 2.安装好之后可以登录系统账户 3.用户与表空间 4.数据字典 5.如何启用scott用户 6.表空 ...
- oracle 数据库怎么查询,Oracle 数据库基础查询
1.1文件存储 对数据的存储需求一直存在.数据保存的方式,经历了手工管理.文件管理,数据库管理阶段. 文件存储方式保存数据的弊端: 1.缺乏对数据的整体管理,数据不便修改: 2.不利于数据分析和共享; ...
- php 打印oracle数组,ThinkPHP框架自身$map数组查询语言where条件对应oracle数据库时间戳查询方法...
oracle数据库时间戳 查询 sql: to_char(date,'yyyy-mm-dd') >= '2013-02-20' and to_char(date,'yyyy-mm-dd') &l ...
- Oracle数据库安装图文操作步骤
Oracle数据库安装图文操作步骤 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下 ...
- Oracle数据库数据查询语句示例(包含大部分常用语句)
Oracle数据库数据查询语句示例(包含大部分常用语句) 目标 本文用到的关系模式 语句示例 1.在创建的s,p,j和spj表中完成以下查询 (1)查询零件重量在10-20之间(包括10和20)的零件 ...
最新文章
- Git使用sublime_text作用默认编辑器
- C/C++网络编程中的TCP保活
- 原来女孩子做电子工程师也很厉害。。
- 35解释器模式(Interpreter Pattern)
- faster rcnn resnet_RCNN系列、Fast-RCNN、Faster-RCNN、R-FCN检测模型对比
- LeetCode 1091. 二进制矩阵中的最短路径(BFS)
- html5 密码框明文,elementUI的密码框的密文和明文
- 一文搞懂RSOP偏振态旋转
- CDH中配置hive支持update delete
- 树莓派系列五:openCV之火焰检测(一)
- EXCEL表格-COUNTIF函数查找数据重复项
- Burp suite - Burp Clickbandit
- 水深6到9米有鱼吗_红黄尾鲴鱼钓法大全(附配方)
- 微信小程序基于mpvue的ui组件之选择器
- easyui treegrid php,easyUI TreeGrid | 学步园
- 北京大学计算机学院的院徽,院徽、logo和学院口号征集活动
- 利用Python处理excel表格数据
- IntelliJ IDEA2017 激活方法
- python 实现maltab中离散正弦变换dst及其反变换idst
- loadrunner的TPS和点击率HPS
热门文章
- php代码里加图片,php如何添加图片
- linux yum自动挂载_LINUX6安装YUM仓库和实现开机自动挂载
- 问题 B: 数塔问题
- 695.岛屿的最大面积(026)BFS
- html位置下移像素点,吃透移动端 1px的具体用法
- [SpringSecurity]web权限方案_用户授权_注解使用
- C++二维数组作为函数参数
- [Java基础]IO流小结
- 简单的二叉树创建与遍历
- [蓝桥杯2016决赛]平方末尾-数论,枚举