1. 程式人生 > >select *from where 和select *from jion on 語句的差別

select *from where 和select *from jion on 語句的差別

pre 是個 .com 顯示 -1 級聯 bsp 兩種 下使用

https://zhidao.baidu.com/question/541791438.html

select 學號 a,成績 a,姓名 b from 成績表 a,學生表 b where a.學號=b.學生編號 和
select 學號 a,成績 a,姓名 b from 成績表 a jion 學生表 b on a.學號=b.學生編號 這兩個語句是等價的嗎 ?
如果不等價在什麽情況下使用這兩種查詢方式,求大俠解答!!!

如果不深入研究的話,結果是一樣的,但是個人建議用第二種,效率上應該高於第一種,而且寫代碼的時候思路也清晰,join on內連接,on後面加連接條件,再加where,但第一種寫法中where後的條件都寫在一起了,時間長自己就忘了,別人看著也難受

第一種是關聯查詢查詢結果只會出來兩張表學號一樣的數據出來第二種是級聯查詢查詢結果是參照成績表出來的,join的表只是作輔助數據,如果有加b.姓名的話,你就會看到,和成績表學號一樣的,就會顯示出姓名,而不一樣的則會顯示null上面兩種查詢結果不等價但是如果將第二句加上一個條件就等價了select 學號 a,成績 a,姓名 b from 成績表 a jion 學生表 b on a.學號=b.學生編號where IsNull(b.學生編號,‘‘)<>‘‘

select *from where 和select *from jion on 語句的差別