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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接
新聞熱點
疑難解答