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

相关推荐
emo了小猫3 小时前
Mybatis #{} 和 ${}区别,使用场景,LIKE模糊查询避免SQL注入
数据库·sql·mysql·mybatis
潘yi.8 小时前
NoSQL之Redis配置与优化
数据库·redis·nosql
zdkdchao8 小时前
hbase资源和数据权限控制
大数据·数据库·hbase
伤不起bb8 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
leo__5208 小时前
PostgreSQL配置文件修改及启用方法
数据库·postgresql
南風_入弦10 小时前
优化09-表连接
数据库·oracle
Snk0xHeart11 小时前
极客大挑战 2019 EasySQL 1(万能账号密码,SQL注入,HackBar)
数据库·sql·网络安全
····懂···11 小时前
数据库OCP专业认证培训
数据库·oracle·ocp
学习中的码虫12 小时前
数据库-MySQL
数据库
Karry的巡洋舰12 小时前
【数据库】安全性
数据库·oracle