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、多表连接查询(内、外、自、交叉连接)

相关推荐
IvorySQL12 小时前
PostgreSQL 日报 | JOIN 与外键优化(8 月 9 日)
数据库·postgresql
ltl12 小时前
自治数据库十年回顾:Peloton、NoisePage、OtterTune 到云原生 auto-tuning
数据库
GlueNa2SiO313 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
灯澜忆梦14 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
xian_wwq14 小时前
【学习笔记】Context Engineering,AI Agent 真正的内存管理-4/16
笔记·学习·context
C++ 老炮儿的技术栈15 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
MC皮蛋侠客16 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
疯狂打码的少年16 小时前
【数据结构】队列:定义、顺序队列与链式队列
数据结构·笔记
zt1985q17 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源
IvorySQL18 小时前
PostgreSQL 日报| PostgreSQL 19 默认 WAL 压缩算法(8 月 8 日)
数据库·postgresql·区块链