連線 交叉連線 內連線 外連線 自連線

2022-07-26 19:30:10 字數 1971 閱讀 9975

本文非原創

可分為:交叉連線、內連線、外連線、自連線

1.使用交叉連線:

它是非限制連線,就是將兩個**不加任何條件的組合在一起,

即第乙個**的所有記錄分別和第二個**的每一條記錄相連線

組合成新的記錄,連線後結果集的行數是兩個**的行數的乘積,

列為兩表列之和。

語法: (1)select 列名列表 from 表名1 cross join 表名2

(2)select 列名列表 from 表名1 (起別名) , 表名2

注意:當顯示某一些欄位要用表名指定。

例:select a.book_name , b.book_num from table1 a , table2 b

2.使用內連線:

內連線是將兩個表中滿足條件的記錄顯示出來,就是在交叉連線的

基礎上加條件,一般採用「主鍵 = 外來鍵」的形式。

語法:(1)select 列名列表 from 表名1 [inner] join 表名2 on 條件表示式

(2)select 列名列表 from 表名1 , 表名2 where 條件表示式

例:select * from table1 a join table2 b on a.book_name = b.book_name

3.使用外連線:

外連線分為:左外連線、右外連線、全外連線

(1)左外連線:

它是將左表中的所有資料分別與右表的每一條資料進行組合,

結果集中除了顯示內連線的記錄外,還顯示左表中不符合條

件的記錄,並在右表中相應的列上填 null 值.

語法: select * from 表名1 left [outer] join 表名2 on 條件表示式

(2)右外連線:

它是將右表中的所有資料分別與左表的每一條資料進行組合,

結果集中除了顯示內連線的記錄外,還顯示右表中不符合條

件的記錄,並在左表中相應的列上填 null 值.

語法: select * from 表名1 right [outer] join 表名2 on 條件表示式

(3)全外連線:

全外連線就是左表中的所有記錄分別與右表中的每一條進行組合,

結果集中除返回內部連線記錄之外,還要顯示出兩個表中不符合

條件的全部記錄,並在左表、右表中對應的位置添上null 值。

語法: select * from 表名1 full join 表名2 on 條件表示式

4.使用自連線:

自連線就是一張表的兩個副本之間的連線,就是將同乙個表的

不同行連線起來;使用自連線時,必須為本表指定兩個別名,

使其在邏輯上成為兩個表。

例: select a.biao_jia , a.biao_liang from qian a join qian b

on a.biao_jia = b.biao_jia and a.biao_liang <> b.biao_liang

5. 合併結果集:

使用union 語句可以把兩個以上的結果集合並為乙個結果集。

語法: select …………

union

select …………::

合併結果集時有以下三點限制:

(1)union 合併的結果集的兩個 select 語句的列數相同,

所使用列的資料型別要對應相同;

(2)最後結果集中的列名來自第乙個 select 語句;

(3)在合併結果集時,預設將從最後結果集中刪除重複的行,

除非使用關鍵字。

例:select book_name , book_id into #new_1 from yi

goselect egg_name , egg_shu into #new_2 from egg

goselect * from #new_1

union all

select * from # new_2

內連線 外連線 自連線 交叉鏈結

資料表的連線有 1 內連線 自然連線 只有兩個表相匹配的行才能在結果集中出現 2 外連線 包括 1 左外連線 左邊的表不加限制 2 右外連線 右邊的表不加限制 3 全外連線 左右兩表都不加限制 3 自連線 連線發生在一張基表內 內連線 一 內連線 內連線查詢操作列出與連線條件匹配的資料行,它使用比較...

內連線 外連線 交叉連線

一 連線查詢 根據兩個表或者多個表的列之間的關係,從這些表中查詢資料。目的 實現多個表查詢操作。二 連線型別 連線分為三種 內連線 外連線 交叉連線。1 內連線 使用比較運算子 包括 和 進行表間的比較操作,查詢與連線條件相匹配的資料。根據比較運算子不同,內連線分為等值連線和不等連線兩種。1.1 等...

內連線 外連線 交叉連線總結

本篇文章總結了一下sql中的五種連線 內連線 左外連線 右外連線 全連線 交叉連線 一 內連線 full join full outer join 內連線查詢操作列出與連線條件匹配的資料行,它使用比較運算子比較被連線列的列值。內連線分三種 1 等值連線 在連線條件中使用等於號 運算子比較被連線列的列...