sql中join与left-join图解区别
生活随笔
收集整理的這篇文章主要介紹了
sql中join与left-join图解区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
select a.* from YG_BRSYK a left join(SELECT DISTINCT SYXH,STUFF((SELECT '、'+MS FROM #lsb where SYXH=t.SYXH FOR XML PATH('')),1,1,'') AS MSFROM #lsb as t) c on a.SYXH=c.SYXH WHERE c.MS IS NOT NULL order by RYBQ
--注:left join...on 為左關聯,保留左邊所有的數據,右表沒有的數據為NULL值。加where條件控制表的輸出C.MS不為NULL。因此查詢的個數與c表一致760個
??????????????????????? STUFF((SELECT '、'+MS FROM #lsb where SYXH=t.SYXH FOR XML PATH('')),1,1,'') AS MS
??????????????????????? FROM #lsb as t 670個
--注:left join...on 為左關聯,保留左邊所有的數據,右表沒有的數據為NULL值。加where條件控制表的輸出C.MS不為NULL。因此查詢的個數與c表一致760個
?
select a.* from YG_BRSYK a --801331個?
SELECT DISTINCT SYXH,??????????????????????? STUFF((SELECT '、'+MS FROM #lsb where SYXH=t.SYXH FOR XML PATH('')),1,1,'') AS MS
??????????????????????? FROM #lsb as t 670個
?
?
?
https://www.cnblogs.com/lcs-java/articles/8465605.html
?
t1表內容如下:
t2表內容如下:
下面來簡述join和left join/right join的區別:
inner join
select * from t1 inner join t2 on t1.id = t2.id;
公共部分的數據才會被查詢出來;
left join
select * from t1 left join t2 on t1.id = t2.id;
查詢出來的結果和前表記錄數一樣多;
right join
select * from t1 right join t2 on t1.id = t2.id;
能轉化為
?
轉載于:https://www.cnblogs.com/xyao1/p/9370279.html
總結
以上是生活随笔為你收集整理的sql中join与left-join图解区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java 日期与时间
- 下一篇: 洛谷 P1656 炸铁路