oracle中的四種連線

2021-08-30 15:06:53 字數 1027 閱讀 2141

1. 連線 : 將兩個表 ( 或多個表 ) 中的行按照給定的條件進行拼接而形成的新錶 . 連線和子查詢都要操作兩個類或多個表 , 他們的區別是 : 連線可以合併兩個表或多個表的資料 , 而帶子查詢的 select 語句的結果只能來自乙個表 , 子查詢的結果僅僅是用作篩選結果的參照 . 因為在三種子查詢中 , 均是針對某個表中的某一列值來判斷的 . 在查詢中使用子查詢可以使查詢邏輯更為清晰 , 明了 . 而使用連線則具有更快的執行速度 .

通常連線可以分為以下幾類 :

1). 等值連線 : 不去除重複字段

運算型別 : 雙目運算

運算條件 : 兩個表的某些字段值相同 ( 欄位名可以不同 )

2) 自然連線 : 其結果是在共同屬性上進行等值連線後再去除重複欄位名後所得到的新錶 .

運算型別 : 雙目運算

運算條件 : 兩個表具有共同屬性 ( 列名相同 )

join 連線 :( 建立於等值連線基礎之上 )

on|corss join

|table_source 為連線的表 ,join_type 為連線的型別 ,on 用於指定連線條件 ,join_type 的格式為 :

[inner][outer][join_hint]join

3) 內連線 : 內連線按照 on 所指定的連線條件合併兩個表 ( 使用內連線後仍可以使用 where), 不去除重複字段 . 內連線可操作多個表 .

運算型別 : 雙目運算

4) 外連線 : 其執行結果不但包含滿足連線條件的行 , 還包括相應表中的所有行 . 外連線只能操作兩個表 .

運算型別 : 雙目運算

外連線分類 :

* 左外連線 : 結果表中除了包含滿足連線條件的行外 , 還包括左邊的所有行 .

* 右邊連線 : 結果表中除了包含滿足連線條件的行外 , 還包括右邊的所有行 .

* 完全外連線 : 結果表中除了包含滿足連線條件的行外 , 還包含兩個表中的所有行 .

5) 交叉連線 : 交叉連線是兩個表的笛卡爾積 . 交叉表不能有條件 , 且不能帶 where 字句 .

oracle四種連線查詢

內連線 inner join 連線兩個表只要資料存在不匹配就都不顯示。外連線 outer join 連線兩個表存在空匹配的記錄將都顯示處理。左連線 left join 連線兩個表以左表為顯示表,顯示左表匹配的null欄位。右連線 right join 連線兩個表以右表為顯示表,顯示右表匹配的null...

Oracle中表的四種連線方式講解

表的連線是指在乙個sql語句中通過表與表之間的關連,從乙個或多個表中檢索相關的資料,大體上表與表之間的連線主要可分四種,分別為相等連線,外連線,不等連線和自連線,本文將主要從以下幾個典型的例子來分析oracle表的四種不同連線方式 1.相等連線 通過兩個表具有相同意義的列,可以建立相等連線條件。只有...

mysql的四種連線方式 資料庫的四種連線方式

a表 b表 a.id同parent id 存在關係 1 內連線 相當於select a.b.from a,b where a.id b.id select a.b.from a inner join b on a.id b.parent id 結果是 2 左連線 左表的挨個資訊去查詢,查不到則將右邊...