Oracle中sql語句(+)符號代表連線的使用講解
阿新 • • 發佈:2020-01-09
oracle中sql語句(+)符號代表連線
(+)在=前邊為右連線
(+)在=後邊為左連線
SELECT a.*,b.* from a(+) = b就是一個右連線,等同於select a.*,b.* from a right join b
SELECT a.*,b.* from a = b(+)就是一個左連線,等同於select a.*,b.* from a left join b
內連線
- 常用的連線運算子=、<、>
- 使用比較運算子根據每個表共有的列的值匹配兩個表中的行
外連線
左連線
LEFT JOIN 或LEFT OUTER JOIN
列出左表中的所有行,若左表中某行在右表中沒有匹配的行,則左表該行輸出,右表該行為空
右連線
RIGHT JOIN 或RIGHT OUTER JOIN
列出右表中的所有行,如右表中某行在左表中沒有匹配的行,則右表該行輸出,左表該行為空
全連線
FULL JOIN 或FULL OUTER JOIN
對兩表中的所有資料
當左表中的某行在右中沒有匹配的行,左表該行輸出,右表該行為空
當右表中的某行在左表中沒有匹配的行,右表該行輸出,左表該行為空
例子:
------------------------------------------------- a表 id name b表 id job parent_id 1 張3 1 23 1 2 李四 2 34 2 3 王武 3 34 4 a.id同parent_id 存在關係 --------------------------------------------------
內連線
select a.*,b.* from a inner join b on a.id=b.parent_id 1 張3 1 23 1 2 李四 2 34 2
左連線
select a.*,b.* from a left join b on a.id=b.parent_id 1 張3 1 23 1 2 李四 2 34 2 3 王武 null
右連線
select a.*,b.* from a right join b on a.id=b.parent_id 1 張3 1 23 1 2 李四 2 34 2 null 3 34 4
全連線
select a.*,b.* from a full join b on a.id=b.parent_id 1 張3 1 23 1 2 李四 2 34 2 null 3 34 4 3 王武 null
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。如果你想了解更多相關內容請檢視下面相關連結