关于多表查询的问题
假如有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--------------------编程问答-------------------- 一条语句的确可以完成,但是要求不许用join,说每张表数据很多的时候效率很低,所以采用补数的方式,先查到map里,再为那些value为null的put值,从而完成整个查询,不知道可不可行?
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
补充:Java , Java相关