uj5u.com熱心網友回復:
限制條件位置不同,得到的結果也不同uj5u.com熱心網友回復:
樓主先簡單的了解一下 內連接、左連接、右連接uj5u.com熱心網友回復:
第一個相當于內連接了,第二個才是外連接uj5u.com熱心網友回復:
on后面是過濾兩個鏈接表笛卡爾積形成中間表的約束條件,where 是對中間表的約束條件。推薦是 ON只進行連接操作,WHERE只過濾中間表的記錄。uj5u.com熱心網友回復:
所以樓主你如果用+號來表示外連接就有這種疑問了uj5u.com熱心網友回復:
這兩個值等價的select *
from tab1 t1
left join tab2 t2 on t1.col1 = t2.col2
where t2.col2 != 3
;
select*from (
select *
from tab1 t1
left join tab2 t2 on t1.col1 = t2.col2) t1
where t1.col2 != 3
;
這兩個是等價的
select *
from tab1 t1
left join tab2 t2 on t1.col1 = t2.col2
and t2.col2 != 3
;
select *
from tab1 t1,
tab2 t2
where t1.col1 = t2.col2(+)
and t2.col2(+) != 3
;
uj5u.com熱心網友回復:
1、SELECT * FROM A LEFT JOIN B ON 條件1 AND 條件22、SELECT * FROM A LEFT JOIN B ON 條件1 WHERE 條件2
第一個,條件2無論是否成立,都不會影響A表資料的顯示。
第二個,條件2如果不滿足,會影響A表資料的顯示。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/29751.html
標籤:開發
上一篇:oracle資料庫
