Sql复杂查询--多表联接
多表联接查询
三张表结构如下
ProductId | ProductName |
ProductId | SaleNum |
ProductId | FixNum |
(1)顺序联接--按照from字句的书写顺序进行连接查询
实例:要求查询各类产品的销售及维修数量
ProductName | SaleNum | FixNum |
select p.ProductName,s.SaleNum,f.FixNum from Product p left outer join Sale s on p.ProductId=s.ProductId left outer join Fix f on p.ProductId=f.ProductId
执行顺序:(P与S)与F
(2)嵌套联接--最里层的先联接执行,联接查询结果再与外层联接
实例:要求查询已销售产品中维修数量
ProductName | SaleNum | FixNum |
select p.ProductName,s.SaleNum,f.FixNum from Product p join Sale s left outer join Fix f on s.ProductId=f.ProductId on s.ProductId=p.ProductId
执行顺序:
先执行
join Sale s left outer join Fix f on s.ProductId=f.ProductId