首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

被数据库连接搞混解决方案

2013-09-09 
被数据库连接搞混如果多个表关联,到底是怎么取数据的?比如 a full outer join b ON a.xxb.xx inner join

被数据库连接搞混
如果多个表关联,到底是怎么取数据的?

比如 


a full outer join b ON a.xx=b.xx inner join C on a.xx=c.xx and b.xx=c.xx


这里面 a和b,是全都取出来,这点我知道。
但是现在关联了c,那么取到的数据,是不是 a和 c的内联,再加上b和c的内联?
[解决办法]
可以这样理解了
[解决办法]
SELECT * 
FROM a 
full outer join b 
ON a.xx=b.xx--#1.a和b先产生一个结果集
inner join C 
on a.xx=c.xx and b.xx=c.xx--#2.上面的结果集看成一个表,再和C表INNSER JOIN

[解决办法]
it depends, ms database engine could do some tunnings, it may not follow the t-sql table order. You can check sql server excution plan. 
[解决办法]
连接是很费资源的
[解决办法]
引用:
SELECT * 
FROM a 
full outer join b 
ON a.xx=b.xx--#1.a和b先产生一个结果集
inner join C 
on a.xx=c.xx and b.xx=c.xx--#2.上面的结果集看成一个表,再和C表INNSER JOIN


+1

热点排行