左連線中on和where的區別

2021-08-20 23:46:35 字數 641 閱讀 9109

**左連線on和where條件的區別。

如上圖所示,現在有5個學生,兩個班級, 其中3個學生屬於1班,另外兩個屬於2班。

試猜想,如下sql執行的結果:

select * from student st left join classs cc

on st.cid=cc.id and cc.name='業務一班';

select * from student st left join classs cc

on st.cid=cc.id where cc.name='業務一班';

結果截圖:

sql是開發的很重要的一環,小則傷身,大則傷腎!!!

左連線和右連線的區別

假設有a,b兩個表。表a記錄如下 aid anum 1 a20050111 2 a20050112 3 a20050113 4 a20050114 5 a20050115 表b記錄如下 bid bname 1 2006032401 2 2006032402 3 2006032403 4 200603...

SQL中ON和WHERE的區別

一直覺得自己sql不熟練,於是開始刷sql題,發現了不懂sql中on和where的區別,搜尋結果網上幾十幾十篇的部落格互相抄 關鍵抄得還很迷惑。好在最後還是弄懂了。1.首先on是用在連線join中的,它的意思是在生成連線結果的時候 偏心地 剔除掉一些不符合條件的 至於怎麼偏心,比如在left joi...

sql中on和where的區別

資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用left jion時,on和where條件的區別如下 1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。2 where條件是在臨時表生成好後,再對臨時表...