当前位置:编程学习 > JAVA >>

关于多表查询的问题

假如有5张表 tblA,tblB,tblC,tblD,tblE;现在tblA是主表,其他表都是关系它的,设想如下: 
先查询出tblA的数据:select tblA.col1,null as 'tblB_col1',null as 'tblC_col1',null as 'tblD_col1',null as 'tblE_col1' from tblA 

这个语句出来的结果放入map中,然后为null列补值,null列的数据来源于其余表: 
select tblB.col1 from tblB where tblB.key in (tblA.id) 
select tblB.col1 from tblC where tblB.key in (tblA.id) 
... 

不知道大家有没有好的建议? --------------------编程问答-------------------- have a try
select tblA.col1 tblB.col1, tblC.col1, tblD.col1, tblE.col1
  from tblA left join tblB on tblA.id = tblB.key 
            left join tblC on tblA.id = tblC.key
            left join tblD on tblA.id = tblD.key
            left join tblE on tblA.id = tblE.key
--------------------编程问答-------------------- 一条语句的确可以完成,但是要求不许用join,说每张表数据很多的时候效率很低,所以采用补数的方式,先查到map里,再为那些value为null的put值,从而完成整个查询,不知道可不可行?
补充:Java ,  Java相关
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,