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表中,外层再做关联。

相关推荐
洛阳纸贵3 分钟前
Redis
数据库·redis·缓存
l1t35 分钟前
DeepSeek辅助编写的利用位掩码填充唯一候选数方法求解数独SQL
数据库·sql·算法·postgresql
墨月白44 分钟前
[QT] QT中的折线图和散点图
数据库·qt
龙潜月七1 小时前
做一个背单词的脚本
数据库·windows·c#·aigc·程序那些事
我科绝伦(Huanhuan Zhou)1 小时前
DM数据库物理存储结构深度解析与理论实践
数据库·oracle
霖霖总总1 小时前
[小技巧23]全面理解 MySQL 的 WAL 机制:原理、影响与可观测性
数据库·mysql
列御寇1 小时前
MongoDB分片集概述
数据库·mongodb
又是忙碌的一天2 小时前
SpringMVC响应
java·服务器·数据库
W001hhh2 小时前
260110
java·数据库
冰暮流星2 小时前
sql语句之select语句的基本使用
数据库·sql·mysql