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語句如...