MySQL连接查询综合应用

连接查询综合应用

综合运用聚合函数、连接查询、分组查询完成许多很复杂的查询

看看以下的案例吧^ .^ ↓↓↓

案例用到的表:线路表(line)、司机表(driver)、车站表(line_station)、车辆表(vehicle)

案例1.1:统计每一家公交公司所属线路的站点总数
代码如下:

-- 1.1统计每一家公交公司所属线路的站点总数
SELECT l.company '公司', COUNT(*) '总站数'
FROM line l , line_station ls
WHERE l.lineNo = ls.lineNo
GROUP BY l.company

运行结果如下↓
在这里插入图片描述
我们能看到每个公司的总站数都被查询出来啦~!


案例1.2:计算经过站点“解放大道古田四路”的公交线路的数量以及营运车辆数量
代码如下:

-- 1.2计算经过站点“解放大道古田四路”的公交线路的数量以及营运车辆数量
SELECT l.lineNo '线路号' , SUM(number) '车辆数量'
FROM line l , line_station ls
WHERE l.lineNo = ls.lineNo
AND station = '解放大道古田四路' 

运行结果如下↓
在这里插入图片描述
可以看到表中符合经过站点“解放大道古田四路”的公交线路只有一条记录呢!


案例1.3:计算每条公交线路的司机人数,并显示司机人数大于 3 的分组信息,按司机人数逆序显示
代码如下:

-- 1.3计算每条公交线路的司机人数,并显示司机人数大于 3 的分组信息,按司机人数逆序显示;
SELECT l.lineNo '线路号' ,COUNT(*) '司机人数'
FROM line l , vehicle v , driver d
WHERE d.driverID = v.driverID
AND v.lineID = l.lineID
GROUP BY l.lineNo HAVING COUNT(*) > 3
ORDER BY COUNT(*) DESC

在这里插入图片描述
看到这里用了许多语句去查询用条件筛选记录,似乎有点复杂呢~


总结:

1.连接查询综合应用要熟练运用SELECT语句以及WHERE、GROUP BY 、 ORDER BY语句的使用,组合一起使用解决问题。
2.完成查询的解决思路不只一种需要多多练习就能够很好的去使用查询啦~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值