当前位置:懂科普 >

IT科技

> java merge

java merge

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java merge是什么,让我们一起了解一下?

merge是实现将两个Dataframe根据一些共有的列连接起来,其操作非常类似sql里面的join,在实际场景中,这些共有列一般是Id,连接方式也丰富多样,可以选择inner(默认),left,right,outer这几种模式,分别对应的是内连接,左连接,右连接。

那么merge是如何使用的?

举例说明:有一个表T,有两个字段a、b,我们想在表T中做Insert/Update,如果条件满足,则更新T中b的值,否则在T中插入一条记录。在Microsoft的SQL语法中,很简单的一句判断就可以了,SQL Server中的语法如下:  

if exists(select 1 from T where T.a='1001' )update T set T.b=2 Where T.a='1001'elseinsert into T(a,b) values('1001',2);

java merge

但是很明显这个语法对于SQL只能更改一条语句,并且Oracle不能使用,所以就有了Merge into(Oracle 9i引入的功能)语法 。

merge into 目标表 a using 源表 b on(a.条件字段1=b.条件字段1 and a.条件字段2=b.条件字段2 ……)   when matched then update set a.字段=b.字段 --目标表别称a和源表别称b都不要省略 when  not matched then insert (a.字段1,a.字段2……)values(b.字段1,b.字段2……)

在一个同时存在Insert和Update语法的Merge语句中,总共Insert/Update的记录数,就是Using语句中"源表"的记录数。

标签: java merge
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/qym0ej.html