连接查询的综合运用##
分类:
内连接:inner
外连接
左外:left 【outer】
右外:right 【outer】
全外:full【outer】
交叉连接:cross
一)内连接
语法:
select 查询列表
from 表1 别名
inner join 表2 别名
on 连接条件;
分类:
等值非等值自连接
1统计每件商品的销售数量和销售金额,要求按照销售量和销售金额升序显示商品名、销售量和销售金额,
select g.goodsName 商品名,
sum(od.quantity) 销售量,sum(od.quantity*g.unitPrice) 销售金额 from goods g left join ordersdetail od on g.goodsID=od.goodsID group by g.goodsID
order by 销售量 , 销售金额
- List item
总结:由于需要统计每件商品的销售数量和销售金额,即便某种商品没有被订购过也需要显示,所以可以采用左连接的方
式依次建立商品表和订单明细表的联系。
计算每个订单的金额,要求按照订单下单日期升席和订单金额降席显示订单ID、订单下单日期、订单金额和顾客姓名。
select o.ordersID 订单 ID,o.ordersDate 下单日期 ,sum(od.quantity*g.unitPrice) 订单金额 ,c.cName 客户名 from orders o,ordersdetail od,goods g,customer c where o.ordersID=od.ordersID and od.goodsID=g.goodsID and o.customerID=c.customerID group by o.ordersIDorder by 下单日期 , 订单金额 desc
总结需要连接订单表、订单明细表、商品表和客户表。