當前位置:生活全書館 >

IT科技

> merge java

merge java

<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語句中"源表"的記錄數。

標籤: merge java
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/6wqlp1.html