外連線查詢

2021-08-30 19:14:08 字數 2698 閱讀 3196

6.1.3  外連線查詢

與內連線不同,外連線是指使用outer join關鍵字將兩個表連線起來。外連線生成的結果集不僅包含符合連線條件的行資料,而且還包括左表(左外連線時的表)、右表(右外連線時的表)或兩邊連線表(全外連線時的表)中所有的資料行。

外連線分為左外連線(left outer join)、右外連線(right outer join)和全外連線3種型別。

1.左外連線查詢

左外連線(left outer join)是指將左表中的所有資料分別與右表中的每條資料進行連線組合,返回的結果除內連線的資料外,還包括左表中不符合條件的資料,並在右表的相應列中新增null值。下面通過例項講解使用左外連線查詢資料的實現方法。

【例項6-3】使用左外連線的查詢方式將"職員資訊"和"職務資訊"資料表連線起來,使得能夠從這兩個資料表中查詢資料資訊。其具體實現如**6.3所示。

**6.3

01  select a.編號,a.姓名,a.部門編號,  

02         a.年齡,a.現住址,b.職務名稱  

03  from   職員資訊 as a  

04         left outer join 職務資訊 as b   

05         on a.職務編號 = b.職務編號  

06  order by a.編號 

【執行**】**執行以後,查詢的資料結果如圖6.3所示。

圖6.3  使用左外連線查詢資料資訊

說明:在執行左外連線查詢的查詢結果集中,將在"職員資訊"資料表中不存在"職務編號"的"職務名稱"欄位中新增null。

【深入學習】關於上述**的分析如下所示:

第1~2行指定從兩個資料表中查詢的列名稱。

第3~5行使用左外連線查詢資料表,並通過別名設定資料表的連線條件。

第6行使用order by語句將查詢的結果集按照編號進行公升序排序。

2.右外連線查詢

右外連線(right outer join)是指將右表中的所有資料分別與左表中的每條資料進行連線組合,返回的結果除內連線的資料外,還包括右表中不符合條件的資料,並在左表的相應列中新增null。

下面通過例項講解使用右外連線查詢資料的實現方法。

【例項6-4】使用右外連線的查詢方式將"職員資訊"和"職務資訊"資料表連線起來,使得能夠從這兩個資料表中查詢資料資訊。其具體實現如**6.4所示。

**6.4

01  select a.編號,a.姓名,a.部門編號,  

02         a.年齡,a.現住址,b.職務名稱  

03  from   職員資訊 as a  

04         right outer join 職務資訊 as b   

05         on a.職務編號 = b.職務編號  

06  order by a.編號 

【執行**】**執行以後,查詢的資料結果如圖6.4所示。

圖6.4  使用右外連線查詢資料資訊

說明:在執行右外連線查詢的查詢結果集中,將在"職員資訊"資料表中不存在"職務編號"的"編號"、"姓名"、"部門編號"、"年齡"和"現住址"欄位中新增null。

【深入學習】關於上述**的分析如下所示:

第1~2行指定從兩個資料表中查詢的列名稱。

第3~5行使用右外連線查詢資料表,並通過別名設定資料表的連線條件。

第6行使用order by語句將查詢的結果集按照編號進行公升序排序。

3.全外連線查詢

全外連線是指將左表中的所有資料分別與右表中的每條資料都進行連線組合。返回的結果集除了內連線的資料外,還有兩個表中不符合條件的資料,並在左表或右表的相應列中新增null。下面通過例項講解使用全外連線查詢資料的實現方法。

【例項6-5】使用全外連線的查詢方式將"職員資訊"和"職務資訊"資料表連線起來,使得能夠從這兩個資料表中查詢資料資訊。其具體實現如**6.5所示。

**6.5

01  select a.編號,a.姓名,a.部門編號,  

02         a.年齡,a.現住址,b.職務名稱  

03  from   職員資訊 as a  

04         full outer join 職務資訊 as b   

05         on a.職務編號 = b.職務編號  

06  order by a.編號 

【執行**】**執行以後,查詢的資料結果如圖6.5所示。

圖6.5  使用全外連線查詢資料資訊

【深入學習】關於上述**的分析如下所示:

第1~2行指定從兩個資料表中查詢的列名稱。

第3~5行使用全外連線查詢資料表,並通過別名設定資料表的連線條件。

第6行使用order by語句將查詢的結果集按照編號進行公升序排序。

說明:左外連線、右外連線和全外連線之間的區別在於如何向返回不符合條件的資料列中新增null值。

oracle外連線查詢

講外連線之前,先舉例介紹內連線,也就是一般的相等連線。select from a,b where a.id b.id 對於外連線,oracle中可以使用 來表示,9i可以使用left right full outer join,下面將配合例項一一介紹。1.left outer join 左外關聯 s...

Oracle 外連線查詢

注意 外連線,既能查詢出符合條件的記錄,也能根據一方強行將另一方查詢出來。注意 在oracle中,將 出現在 號右邊,稱為左外連線 將 出現在 號左邊,稱為右外連線 左外或右外,本質上是一樣的,只是 的位置不一樣,且 只能出現一次,以上語法是oracle專用語法。例1 按部門10,20,30,40號...

SQL查詢 內連線 外連線 自連線查詢

先建立2個表 學生表和教師表 在每個表中找出符合條件的共有記錄。x inner join y on.第一種寫法 只用where select t.teacher name,s.student name from teacher t,student s where t.id s.teacher id ...