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 ...