SQL中合并使用的详细说明

SQL中合并使用的详细说明
合并报表是一个SQL语句,在SQL服务器不可用,Oracle数据库和MySQL和postgresql.merge是一种新的Oracle9i的语法,用于合并更新和插入语句。根据合并报表,根据一个表的连接条件(原始数据表、源表)或子查询,我们查询另一个表(目标表,目标表)。在连接条件匹配时执行更新,而插入则无法匹配。此语法只需要一个完整的表扫描来完成整个工作,并且执行效率高于插入+更新。

合并主要用于两个表之间的关联操作
合并:在Oracle中
从Oracle 9i支持合并使用,10g的完善

首先创建一个表(id_ count_整数,整数);
插入一个值(1,3);
插入一个值(3,6);
创建表格B(id_ count_整数,整数);
插入b值(1,7);
插入b值(2,4);
合并成一个
使用B
在(张_ = b.id_)
当匹配时
更新= b.count_ + a.count _ count_ / * * / count_属于表命名的关注
当不匹配时
插入值(b.id_,b.count_);
承诺;
从中选择*;

结果uff1a
id_ count_

一百一十

三十六

二十四
SQL Server 2008开始支持合并:
有两个相同的表:test1,test2

创建表的试验
(ID int,名字varchar(20))

创建表test2
(ID int,名字varchar(20))

插入test1(ID、名称)
值(1,'boyi55),(2,'51cto),(3,'bbs),(4,'fengjicai),(5,'alis)
插入test2(ID、名称)
值(1,'boyi),(2,'51cto)

同步test1为test2,没有数据的插入,和现有的数据更新
合并test2 T要更新目标表
使用test1的源表
在t.id = s.id --更新条件(即主键)
匹配时——如果主键匹配、更新
然后更新t.name = s.name
如果未匹配,则插入值(id、name);插入目标主机主未知主键。此语句必须以分号结束。
运行以下查询以查看更新结果
选择张,a.name作为name_1,b.name作为name_2从test1作为
在张=数据

我name_1 name_2

离开

1 boyi55 boyi55

2 51cto 51cto

3 BBS论坛

4 fengjicai fengjicai

5 ALIS ALIS
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部