1. 程式人生 > >Atitit 資料join 的原理與java實現 Atitit join表連線的原理與實現 13、SQL Server 表連線的三種方式   (1) Merge Join   (2) Nested

Atitit 資料join 的原理與java實現 Atitit join表連線的原理與實現 13、SQL Server 表連線的三種方式   (1) Merge Join   (2) Nested

Atitit 資料join 的原理與java實現

 

Atitit join表連線的原理與實現

 

13、SQL Server 表連線的三種方式

(1) Merge Join

(2) Nested Loop Join

(3) Hash Join

 

 

Relst

[

{

"name":"at",

"age":11,

"addr":"addr1"

},

{

"name":"name22",

"age":22,

"addr":"addr22222"

}

]

 

/springbootUpload/src/springbootUploadPkg/joinDemo.java

 

package springbootUploadPkg;

 

import java.util.ArrayList;

import java.util.LinkedHashMap;

import java.util.List;

import java.util.Map;

 

import com.alibaba.fastjson.JSON;

@SuppressWarnings

("all")

public class joinDemo {

 

public static void main(String[] args) {

    Double a = null;    Double b = null;

    

 //   Double c=a*b;

List<Map> table1 = new ArrayList() {

{

 

this.add(new LinkedHashMap<String, Object>() {

{

this.put("name", "at");

this.put("age", 11);

}

});

this.add(new LinkedHashMap<String, Object>() {

{

this.put("name", "name22");

this.put("age", 22);

}

});

}

};

 

@SuppressWarnings("unchecked")

List<Map> table2 = new ArrayList() {

{

 

this.add(new LinkedHashMap<String, Object>() {

{

this.put("name", "at");

this.put("addr", "addr1");

}

});

this.add(new LinkedHashMap<String, Object>() {

{

this.put("name", "name22");

this.put("addr", "addr22222");

}

});

}

};

 

 

//使用且套迴圈連線join

for (Map row : table1) {

for (Map row2 : table2) {

if(row.get("name").equals(row2.get("name")))

row.putAll(row2);

}

 

}

 

System.out.println( JSON.toJSONString(table1, true) );

}

 

}