有三张表:
table A{id[主键] ,nameA}
tableA中的数据为:{1,nameA1}{2,nameA2}{3,nameA3}{4,nameA4}{5,nameA5}
table B{id[外键,关联table A中的id],name B}
tableB中的数据为:{1,nameB1}{4,nameB4}
table C{id[外键,关联table A中的id],name C}
tableC中的数据为:{1,nameC1}{2,nameC2}{3,3namec3}
这时,需要查询的数据结构为:
A表中有多少条数据,就有多少行,根据表外键关系,table A中的id在table B中有数据就查询显示,否则显示为空值,同样,table C里面也一样。
预计要显示的结果如下:
1 nameA1 nameB1 nameC1
2 nameA2 null nameC2
3 nameA3 null nameC3
4 nameA4 nameB4 null
5 nameA5 null null
只需要简单的左外连接即可:
select a.nameA, b.nameB, c.nameC
from tableA as a
left outer join tableB as b on a.id=b.id
left outer join tableC as c on a.id=c.id