Orcle 內外關聯與 號作用

2021-07-26 08:28:19 字數 1360 閱讀 5770

1. 外關聯:左關聯(left join),返回包括左表中的所有記錄和右表中聯結字段相等的記錄。

右關聯(right join),返回包括右表中的所有記錄和左表中聯結字段相等的記錄。

全外關聯(full join),兩個表的記錄都返回,不聯結的字段補null。

內關聯:自關聯(inner join),只返回兩個表中聯結字段相等的行。

注:外關聯的英文簡寫中間省略了outer。

2. 對於外關聯可以使用「+」來表示。

(1)「+」操作符只能出現在where子句中,並且不能與outer join語法同時使用。

(2)「+」操作符只能用於實現左、右關聯,不能用於全外關聯。

(3)「+」操作符不能與or和in操作符一起使用。

(4)「+」操作符只適用於列,不能用在表示式上。

(5)「+"操作符執行連線時,如果where子句中包含多個條件,則所有條件中都要包含「+」操作符。

+表示補充,哪個表有+號,該錶就是匹配表。加號寫在右表,表示左關聯,左表全顯示,右表補全,反之亦然。

(4)全關聯

idname

idname1a

1f2b

2g3c

3h4d

null

null5e

5inull

null7 j

null

null9k

oracle的外關聯

oracel實際開發中,經常遇到這樣的狀況,兩個表作外關聯時,同時想對被關聯表進行條件限制,容易出錯,故在此總結下。例項 sql1 select count from econtract.cm contracts single v smcon,base.bas regions v reg base....

巧取指定記錄與外關聯查詢

1 取得表中第6到第10條記錄的值 1.1 第一種方法,使用minus語句 假設ddl語句如下 create table t id varchar2 4 primary key,value int 那麼第一種方法就是取出前5條,再取出前10條,然後採用集合運算的方法把前10條減去前5條就ok了,sq...

Oracle巧取指定記錄以及巧用外關聯查詢

如何取得表中第6到第10條記錄的值。第一種方法,使用minus語句 假設ddl語句如下 create table t id varchar2 4 primary key,value int 那麼第一種方法就是取出前5條,再取出前10條,然後採用集合運算的方法把前10條減去前5條就ok了,sql語句如...