Oracle之Merge into函数使用

Merge into函数为Oracle 9i添加的语法,用来合并update和insert语句。所以也经常用于update语句的查询优化:

一、语法格式:

sql 复制代码
merge into A
using B
on (A.a = B.a) --注意on后面带括号,且不能更新join的字段
when matched then 
update set A.b = B.b 
when not matched then 
insert A (A.a,A.b) values (B.a,B.b) --也可以做delete语句

二、性能方面:Merge into优于update,Merge into只扫描一次全表,Update子句扫描两次;

三、使用需要注意的地方:

①update通常与exists搭配使用,更新指定范围的数据,而不是所有数据;

②改写update语句时,有多个表的情况,分析各个表的之间的关系,写到on后面做关联;

③不等式的,条件子句含不等式时,通常需要将子句做转化到B表中,外层再做关联。

相关推荐
图图图图爱睡觉1 分钟前
用大白话解释缓存Redis +MongoDB是什么有什么用怎么用
数据库·redis·mongodb
若云止水19 分钟前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(2)
数据库·nginx·ubuntu
m0_6726565433 分钟前
sql专题 之 sql的执行顺序
java·数据库·sql
笨手笨脚の33 分钟前
Redis 源码分析-内部数据结构 robj
数据结构·数据库·redis·raw·redisobject·44字节·embstr
合方圆~小文35 分钟前
智科技赋能宠物关怀新时代
数据库·人工智能·计算机外设·安全性测试
文城52138 分钟前
第三章 关系数据库标准语言SQL
数据库·sql
zl0_00_040 分钟前
sqli-lab
数据库
✿ ༺ ོIT技术༻2 小时前
MySQL:MySQL的数据类型
数据库·mysql
拉不拉斯4 小时前
怎么进行mysql的优化?
数据库·mysql
达梦产品与服务7 小时前
SQLark 数据迁移|断点续迁已上线(Oracle-达梦)
数据库·oracle·数据迁移·断点续迁