SQL SERVER 连接查询(join...on...)

SQL SERVER联结查询包含inner join,left join,right join,outer join (on)四种。

【inner join】:行数为满足条件n*m,并且on的条件对两边的表为有效控制。

select * from table1 inner join table2 on table1.id=table2.id and table1.name=table2.name

【left join】:行数为不满足条件的n1+满足条件的n2*m,on上的条件对左边无效。

select * from table1 left join table2 on table1.id=table2.id and table1.name='123'
--其中table1.name='123'无效

【right join】:行数为不满足条件的m1+满足条件的n*m2,on上的条件对右边无效。

select * from table1 right join table2 on table1.id=table2.id and table2.name='123'
--其中table2.name='123'无效

【outer join】:行数为n*m,on上的条件都无效。(可省略)

select * from table1 outer join table2 on table1.id=table2.id and table1.name='123'
--其中table1.id=table2.id and table1.name='123'无效
--等效于(省略)
select * from table1,table2

 

posted @ 2019-01-15 08:59  木狼  阅读(6162)  评论(0编辑  收藏  举报