mysql—join

//有A  B两个表--表中有一条他们name相同的数据

MysqlUtil m=new MysqlUtil();

Connection conn=m.getConn();
String sql="";
Statement stat=null;
ResultSet rs=null;
try{
/*测试数据
* stat=conn.createStatement();
rs=stat.executeQuery("select * from A");
while(rs.next()){
System.out.println(rs.getString("name"));
}*/
//测试join inner内链接
//内链接是将两个集合的公共部分抽取出来---查询出来的可以是a,b所以的列
stat=conn.createStatement();
//测试join inner内链接--取出他们关联的一部分
//rs=stat.executeQuery("select a.name,b.id from A as a inner join  B as b on a.name=b.name");


//测试left inner内链接--取出他们关联的一部分和左面的一部分,右面的一部分没有关联的设置为空
//"select * from A as a left join  B as b on a.`name`=b.`name` where b.`name` is not NULL"


//得到b表的减去ab公共的部分
//select * from A as a right join  B as b on a.`name`=b.`name` where a.`name` is null

//full join
//select * from A as a left  join  B as b on a.`name`=b.`name`  UNION ALL select * from A as a right  join  B as b on a.`name`=b.`name`

//cross join
//产生的是ab的笛卡尔积的结果
rs=stat.executeQuery("select * from A as a left join  B as b on a.`name`=b.`name` where b.`name` is not NULL");

//update a a1 join (select b1.name from a a1 join b b1 on a1.name=b1.name)b1 on a1.name=b1.name set a1.over='dsa'; 
//更新使用过滤条件中自己的表
while(rs.next()){
System.out.println(rs.getString("name"));
System.out.println(rs.getInt("id"));
}

}catch(Exception e){

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值