2021-04-07
閱讀量:
470
SQL連接中的on and和on where兩種寫(xiě)法的作用一樣嗎?
問(wèn):
SQL連接中的on and和on where兩種寫(xiě)法的作用一樣嗎?
答:
在使用left join時(shí),on和where條件的區(qū)別如下:
1、on條件是在生成臨時(shí)表時(shí)使用的條件,它不管on中的條件是否為真,都會(huì)返回左邊表中的記錄。(實(shí)際上左連接中如果and語(yǔ)句是對(duì)左表進(jìn)行過(guò)濾的,那么不管真假都不起任何作用。如果是對(duì)右表過(guò)濾的,那么左表所有記錄都返回,右表篩選以后再與左表連接返回)
2、where條件是在臨時(shí)表生成好后,再對(duì)臨時(shí)表進(jìn)行過(guò)濾的條件。這時(shí)已經(jīng)沒(méi)有l(wèi)eft join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過(guò)濾掉,on后的條件用來(lái)生成左右表關(guān)聯(lián)的臨時(shí)表,where后的條件對(duì)臨時(shí)表中的記錄進(jìn)行過(guò)濾。
在使用inner join時(shí),不管是對(duì)左表還是右表進(jìn)行篩選,on and和on where都會(huì)對(duì)生成的臨時(shí)表進(jìn)行過(guò)濾。
原文鏈接:https://blog.csdn.net/zengcong2013/article/details/46413737






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論