sql中有关联的两个表,怎么查出一个表中没有对应到另一个表的数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中有关联的两个表,怎么查出一个表中没有对应到另一个表的数据?相关的知识,希望对你有一定的参考价值。
楼主好,连接后查询没有对应的数据很简单,假设你有一张产品表,还有一张销售表,而你想关联后找到哪些产品没有销售,代码如下:select * from 产品表 a
left join 销售表 b on a.产品ID=b.产品ID
where b.产品ID is null
这样写就可以查找出产品表没有在销售表出现的数据。
顺便给楼主介绍一下几种关联:
join 左表(主表)和右表(子表)都存在的数据
left join 左表(主表)为查找全集,右表(子表)存在的关联出来,不存在的为NULL。
right join 刚好和left join相反
full join 相当于把left join 和right join 综合起来,即左表(主表)和右表(子表)关联,如果能关联到的显示,如果左有右表没有,则右表显示NULL,如果右表有左表没有 则左表显示NULL 参考技术A SELECT * FROM A WHERE ID NOT IN (SELECT ID FROM B)
将两个表中查出的两列信息放在同一个表中
String sql_gd = "select * from TAX_INFO_GD where ID=\'"+gdid+"\'"; Record gdRecord = Db.findFirst(sql_gd); String sql_sy = "select * from TAX_INFO where ID=\'"+syid+"\'"; Record syRecord = Db.findFirst(sql_sy); String[] heardArr = {"纳税人识别号:","纳税人名称:","法定代表人:","法人身份证:","注册地址:","经营地址:","经营范围:","从业人数:","注册登记类型:","行业明细:","企业电话:","注册资本:","投资总额:"}; String[] gdArr = {"SH_ID","NAME","FANREN","FR_ID","ZXDZ","SCJYDZ","JYFW","CYRS","DJZCLX","HANGYE","SCJY_TEL","ZCZB","TZZE"}; String[] syArr = {"SHXYDM","NSR","FAREN","FRSFZ","ADDRESS","经营地址","JYFW","CYGR_NUM","ZCDJLX","TRADE","企业电话","ZCZB","投资总额"}; //需要经过处理和填充的新List List<Record> newList = new ArrayList<>(); for(int i=0;i<13;i++){ Record record = new Record(); record.set("HEARD",heardArr[i]); record.set("GD",gdRecord.get(gdArr[i])); record.set("SY",syRecord.get(syArr[i])); newList.add(record); } renderJson(newList);
使每一行均是 HEARD、GD、SY一一对应
产生如图所示
以上是关于sql中有关联的两个表,怎么查出一个表中没有对应到另一个表的数据?的主要内容,如果未能解决你的问题,请参考以下文章
SQL SERVER中,如何把一个表中的数据导入到另一个表中?