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) );

}

 

}

 

猜你喜欢

转载自blog.csdn.net/attilax/article/details/85316790
今日推荐