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

求:多表关联的高效SQL语句,该如何解决

2012-03-02 
求:多表关联的高效SQL语句现有A、B、C、D、E、F六个表,其中A与B通过字段LocationID左外连接;A与C通过字段Custom

求:多表关联的高效SQL语句
现有A、B、C、D、E、F六个表,其中
A与B通过字段LocationID左外连接;
A与C通过字段CustomerID内连接;
A与D通过字段OrderID内连接;
D与E通过字段ItemID左外连接;
D与E通过字段UnitID内连接;
求在ms   sql中最有效率的SQL语句写法!

[解决办法]
---- 例子--- 把*变成你要的列名
select *
from a left join b on a.LocationID=b.LocationID
inner join c on a.CustomerID=c.CustomerID
inner join (select * from d left join e on d.ItemID=e.ItemID inner join f on d.UnitID=f.UnitID) t on a.OrderID=t.OrderID
[解决办法]
A与C通过字段CustomerID内连接;
A与D通过字段OrderID内连接;
A与B通过字段LocationID左外连接;
D与E通过字段UnitID内连接;
D与E通过字段ItemID左外连接;
先内连后外连,先大连后小连,应该有所提高
[解决办法]
select * from a0 a left join a1 b on a.customerid=b.customerid inner join a2 c on b.locationid=c.locationid inner join a3 d on c.employeeid=d.employeeid

热点排行