oracle的SQL語句中的(+)是干什么用的?


Oracle中的(+) 是外連接,如果在等號的左邊就是左連接 和如果在等號的右邊就是右連接
和left join ,right join 比較相似
.....where sn (+) ='5620030820' 左查詢
......where sn ='5620030820' (+) 右查詢

條件關聯時,一般只列出表中滿足連接條件的數據。如果條件的一邊出現(+),
則可列出該表中在條件另一側的數據為空的那些記錄。

比如兩個表:員工表和工資表。員工表中有總經理、A、B、C四條記錄,
工資表中只有A、B、C三人的記錄。如果寫如下語句:
select 姓名,工資 from 員工表,工資表 where 員工表.姓名=工資表.姓名
那么只可能查出A、B、C三人的記錄。
如果寫成:
select 姓名,工資 from 員工表,工資表 where 員工表.姓名(+)=工資表.姓名
則可列出總經理及A、B、C三人的記錄,只不過查詢結果中總經理對應的”工資“列值為空。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM