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