mysql

连接查询综合应用

例题1

统计每一家公交公司所属线路的站点总数

select company 公司, count(*) 总站数 
from line_station LS, line l
where ls.lineNo=l.lineNo groub by company order by count(*)

在这里插入图片描述

例题2

计算经过站点“解放大道古田四路”的公交线路的数量以及营运车辆数量。

select count(*) 线路数,  sum(number) 营运车辆数量
 from line_station ls, line l 
 where ls.lineNo=l.lineNo and station='解放大道古田四路'

在这里插入图片描述

例题3

计算每条公交线路的司机人数,按司机人数降序显示。

select lineNo 线路号, count(*) 司机数 
from driver d, vehicle v, line l 
where d.driverID=v.driverID and v.lineID=l.lineID 
group by lineNo order by 司机数 desc

在这里插入图片描述

例题4

统计每件商品的销售数量和销售金额,要求按照销售量和销售金额升序显示商品名,销售量和销售金额。

select g.goodsName , sum(od.quantity) 销售量, sum(od.quanitiy*g.unitPrice) 销售金额
from goods g 
left join ordersdetail od on g.goodsID=od.goodsID 
group by g.goodsID order by 销售量, 销售金额

执行效果如下~
在这里插入图片描述

*例题5

计算每个订单的金额,要求按照订单下单日期升序和订单金额降序显示订单ID,订单下单日期,订单金额和顾客姓名。

select o.ordersID , 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.ordersID order by 下单日期, 订单金额 desc

在这里插入图片描述

总结

根据题目要求选择更简单解决问题的方法,外连接,内连接,简单连接,选对方法可以更快完成题目要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值