SQL 幾種JOIN用法例項

2021-05-01 11:58:56 字數 2236 閱讀 3713

declare

@tatable

(id

int,va

varchar(10

))declare

@tbtable

(id

int,vb

varchar(10

))insert

into

@taselect1,

'aa'insert

into

@taselect2,

'bc'insert

into

@taselect3,

'ccc

'insert

into

@tbselect1,

'2'insert

into

@tbselect3,

'58'insert

into

@tbselect4,

'67'--

內連線簡單寫法

select

a.id,a.va,b.id,b.vb

from

@taa,

@tbb

where

a.id

=b.id

--內連線

select

a.id,a.va,b.id,b.vb

from

@taa

inner

join

@tbb

ona.id

=b.id

select

a.id,a.va,b.id,b.vb

from

@taa

join

@tbb

ona.id

=b.id

--左連線(左外連線)

--返回left join 子句中指定的左表的所有行,以及右表所匹配的行。

select

a.id,a.va,b.id,b.vb

from

@taa

left

join

@tbb

ona.id

=b.id

select

a.id,a.va,b.id,b.vb

from

@taa

left

outer

join

@tbb

ona.id

=b.id

--右連線(右外連線)

--返回right join 子句中指定的右表的所有行,以及左表所匹配的行。

select

a.id,a.va,b.id,b.vb

from

@taa

right

join

@tbb

ona.id

=b.id

select

a.id,a.va,b.id,b.vb

from

@taa

right

outer

join

@tbb

ona.id

=b.id

--完整外連線

--等同左連線+右連線

select

a.id,a.va,b.id,b.vb

from

@taa

full

join

@tbb

ona.id

=b.id

select

a.id,a.va,b.id,b.vb

from

@taa

full

outer

join

@tbb

ona.id

=b.id

--交叉連線

--沒有兩個表之間關係的交叉連線,將產生連線所涉及的表的笛卡爾積。

select

a.id,a.va,b.id,b.vb

from

@taa

cross

join

@tbb

select

a.id,a.va,b.id,b.vb

from

@taa,

@tbb

--自連線

--乙個表和其本身連線。

select

a.id,a.va,b.id,b.va

from

@taa,

@tab

where

a.id

=b.id+1

SQL 幾種JOIN用法例項

sql 幾種join用法例項 declare ta table id int,va varchar 10 declare tb table id int,vb varchar 10 insert into ta select 1,aa insert into ta select 2,bc inser...

SQL中join的用法

第一種 inner join 解釋 產生的結果是a和b的交集 相同列裡面的相同值 內連線是最常見的一種連線,它也被稱為普通連線,只連線匹配的行 僅對滿足連線條件的cross中的列 它又分為等值連線 連線條件運算子為 和不等值連線 連線條件運算子不為 例如between.and 第二種 full ou...

SQL 的各種 join 用法

下圖展示了 left join right join inner join outer join 相關的 7 種用法。具體分解如下 1 inner join 內連線 2 left join 左連線 select from table a a left join table b b on a.key ...