oracle入门笔记四

*****一、外连接查询

1、左外连接查询

表与表之间通过关联条件进行查询,左边表数据全部显示,右边表通过关联条件关联显示,

关联不上的数据有空代替,格式如下:

select * from 表1 t1 left outer join 表2 t2 on t1.关联字段 = t2.关联字段;

select * from 表1 t1, 表2 t2 where t1.关联字段 = t2.关联字段(+);

注:(+)加在对方表上

2、右外连接查询

表与表之间通过关联条件进行查询,右边表数据全部显示,左边表通过关联条件关联显示,

关联不上的数据有空代替,格式如下:

select * from 表1 t1 right outer join 表2 t2 on t1.关联字段 = t2.关联字段;

select * from 表1 t1, 表2 t2 where t1.关联字段(+) = t2.关联字段;

注:(+)加在对方表上

3、全外连接查询

表与表之间通过关联条件进行查询,左边表与右边表数据全部显示,通过关联条件关联显示,

关联不上的数据有空代替,格式如下:

select * from 表1 t1 full outer join 表2 t2 on t1.关联字段 = t2.关联字段;

二、交叉连接(笛卡尔效应)

表与表之间进行查询,不通过任何关联条件,称为交叉连接,也叫笛卡尔效应,交叉连接是所有

连接查询的最底层,内、外连接查询都是交叉连接的一部分,格式如下:

select * from 表1, 表2;

*****三、分页查询

1、使用rownum分页

取第一次分页

select t.*, rownum rn from 表名 t where rownum <= 结束行号;

取后续分页

select * from (

select t.*, rownum rn from 表名 t

)where rn between 开始行号 and 结束行号;

2、使用rowid分页

select * from 表名 t2 where rowid in (

select t1.rid from (

select rownum rn, rowid rid from 表名

) t1 where rn between 开始行号 and 结束行号

);

3、什么是rownum、rowid

rownum:行号,代表一个虚拟列(伪列),编号是从1开始的

rowid:表数据存储在数据库中的地址,是唯一的,也是一个虚拟列(伪列)

*****四、DQL关键字执行顺序

1、from

2、join

3、on

4、where

5、group by

6、having

7、select

8、distinct

9、order by

*****五、合并结果集

在SQL查询语句中,为了合并多个结果集,可以用以下操作符:

union all(并集不去重)、union(并集去重)、intersect(交集)、minus(差集)

语法:

select 字段1, 字段2 from 表1

union all、union、intersect、minus(四选一)

select 字段A, 字段B from 表2

注:字段1与字段A数据类型、字段个数必须一样,与字段名无关

union 是Oracle去重之一

六、Oracle去重方式

Oracle去重方式有三种,分别:distinct、group by、union

七、DQL查询种类

1、普通的全表查询

2、where条件查询

3、like查询

4、in、exists查询

5、嵌套查询

6、排序查询

7、分组查询

8、去重查询

9、分页查询

10、合并结果集查询

11、多表连接查询(内、外、自、交叉连接)

相关推荐
huangkj-henan12 分钟前
DA217应用笔记
笔记
Young_2022020214 分钟前
学习笔记——KMP
笔记·学习
Leo.yuan27 分钟前
数据量大Excel卡顿严重?选对报表工具提高10倍效率
数据库·数据分析·数据可视化·powerbi
Runing_WoNiu36 分钟前
MySQL与Oracle对比及区别
数据库·mysql·oracle
秀儿还能再秀1 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
WCF向光而行1 小时前
Getting accurate time estimates from your tea(从您的团队获得准确的时间估计)
笔记·学习
天道有情战天下1 小时前
mysql锁机制详解
数据库·mysql
看山还是山,看水还是。1 小时前
Redis 配置
运维·数据库·redis·安全·缓存·测试覆盖率
谷新龙0011 小时前
Redis运行时的10大重要指标
数据库·redis·缓存
CodingBrother1 小时前
MySQL 中单列索引与联合索引分析
数据库·mysql