MySQL

MySQL连接查询综合应用


前言

综合使用连接查询,聚合函数和分组函数进行复杂的查询


提示:中等难度

一、分组统计

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

代码如下(示例):

 SELECT company 公司,COUNT(*)站点数
 FROM line_station LS,line L
 WHERE LS.lineNo=L.lineNo
 GROUP 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 lineNO 线路号,count(*)司机数 
FROM driver D, vehicle V,line L 
WHERE D.driverID = V.driverID  AND V.lineID = L.lineID 
GROUP BY lineNO 
HAVING count(*)> 3 
ORDER BY count(*) DESC

运行结果如下在这里插入图片描述

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

代码如下(示例):

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 销售金额,销售

运行结果如下
在这里插入图片描述

6.计算每个订单金额,按照订单下单日期升序和订单金额降序显示订单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.ordersID 
ORDER BY 订单金额 DESC

运行结果如下在这里插入图片描述

总结

在写的过程中会出现很多问题只要细心就能做好,不要出现错误就放弃要多多检查,细心对待,认真听讲
居中的图片:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月佳韵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值