轉(zhuǎn)自https://blog.csdn.net/xushaozhang/article/details/74687168
1.多張表格需要連接,這時(shí)候使用外/內(nèi)連接即可
2.但是如果這些表格不是現(xiàn)成的溺职,而是需要使用select語句到其他表格(非現(xiàn)成表格清酥,需要用到其他表的聯(lián)合)去找出滿足要求的數(shù)據(jù)組成表格陵叽,這個(gè)時(shí)候就涉及到多個(gè)層次的表的連接菠镇,此時(shí)一般使用臨時(shí)表來節(jié)省空間(因?yàn)椴樵兛赡苤贿M(jìn)行一次)
select a.*,b.cnt,c.cnt from T1 a
left join T2 b on b.id = a.id
left join T3 c on c.id = a.id
這里修己,a表作為主表泻仙,是有需要全部顯示的屬性的表格
4.若是b表和c表都不是現(xiàn)成的乞而,需要使用select語句選出結(jié)果集作為表格,則使用臨時(shí)表
with tmp1 as( ...),tmp2 as(...),tmp3 as(...)
select a.*,b.*,c.* from tmp1 a left join tmp2 b on b.id = a.id left join tmp3 c on c.id = a.id order by a.id
5.inner join和left join使用注意區(qū)分inner join必須是兩張表格的比較屬性完全相同才被選出來荒适,不存在有空值出現(xiàn)的情況