SQLSERVER各種表連線

2021-08-15 07:10:26 字數 2027 閱讀 1712

2.1常用表連線(inner join,left join,right join,full join,cross join)

if object_id(n'table1',n'u') is not null

drop table table1

if object_id(n'table2',n'u') is not null

drop table table2

create table table1(id int,name varchar(20))

insert into table1

select 1,'小明' union all

select 2,'小李' union all

select 3,'小陳' union all

select 4,'小吳'

create table table2(id int,age int)

insert into table2

select 1,23 union all

select 2,24 union all

select 3,25 union all

select 5,26

--連線舉例

--,select a.*,b.* from table1 a,table2 b where b.id = a.id

--cross join 交叉聯接(注:cross join後加條件只能用where,不能用on)

select * from table1 a cross join table2 b where b.id = a.id

--inner join 內連線

select * from table1 a inner join table2 b on b.id = a.id

--left join 左外連線

select * from table1 a left join table2 b on b.id = a.id

--right join 右外連線

select * from table1 a right join table2 b on b.id = a.id

--full join 全外連線

select * from table1 a full join table2 b on b.id = a.id

--以下兩個語句,效果相同

select * from table1 cross join table2

select * from table1,table2

--以下三個語句,效果相同

select * from table1 a,table2 b where b.id = a.id

select * from table1 a cross join table2 b where b.id = a.id

select * from table1 a inner join table2 b on b.id = a.id

sql server 2000 中有個 cross join 是用於交叉連線。

--建立錶值函式 fn_tablevalue

if object_id(n'fn_tablevalue',n'tf') is not null

drop function fn_tablevalue

gocreate function fn_tablevalue(@id varchar(100))

returns @a table (

id int,

name varchar(10) null

)as begin

insert into @a

select * from table2 where id = @id

return

endgo

select *

from table1 t1

where t1.id= t2.id

select * from table1

select *

from table1 t1

select *

from table1 t1

Sql server 假錶左連線

1.select k1,name1,k2,name2 from select 2 as k1,fan as name1 as a left join select k2,name2 from select 2 as k2,hui as name2 as b as c on a.k1 c.k2 2.s...

SQL Server快速匯入資料 各種表的速度比較

如果需要向sql server批量匯入資料,根據匯入的選項和表中的索引設定,資料匯入的時間可能會在不同情況下相差甚遠。如何能夠把批量匯入的過程盡量少花時間呢?在這裡我們將會介紹幾種不同的批量匯入資料的方法 各種方法相應的例項及其所需的時間長短。在我們的測試中我們採取了六種不同的資料匯入方法 1 表含...

SQL SERVER各種用法總結

sql建立臨時表 sqlserver更改表名 exec sp rename sns ws excellent detail sns ws user excellent detail 表變數和臨時表 關於sql中cte 公用表表示式 common table expression 的總結 sql語句增...