连接查询———链接查询综合应用

使用连接查询,聚合函数,连接查询的分组统计

示例1

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

SELECT
	l.company 公司名,
	count(*) 站点总数
FROM
	line l,
	line_station ls 
WHERE
	l.lineNO = ls.lineNo
GROUP BY
	公司名;

如上代码就是使用了链接查询了两张表再根据 l.compang 分组进行统计可以看出代码简洁有效

示例2

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

SELECT
	count(*) 线路数量,
	sum( number ) 运营车辆数 
FROM
	line l,
	line_station ls 
WHERE
	l.lineNo = ls.lineNo 
	AND station = '解放大道古田四路';
	

这张是连接查询与聚合函数的综合运用

示例3

计算每条公交线路的司机人数,并显示司机人数大于三的分组信息,按司机人数降序显示

SELECT
	l.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
	司机人数 desc;

这个示例则是运用的比较全面分别使用了链接查询,聚合函数以及分组查询

示例4

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

SELECT
	od.ordersID 订单ID,
	c.cName 顾客姓名,
	o.ordersDate 下单日期,
	sum( od.quantity * g.unitPRice ) 订单金额 
FROM
	ordersdetail od,
	orders o,
	goods g,
	customer c 
WHERE
	od.ordersID = o.ordersID 
	AND od.goodsID = g.goodsID 
	AND o.customerID = c.customerID 
GROUP BY
	订单ID 
ORDER BY
	订单ID,下单日期,订单金额;

这示例关联表多所以要使用多表链接查询并使用聚合函数进行连接

总结:链接查询的综合运用不仅可以实现各种复杂的查询需求,还能使代码更加简洁方便明了,方便查询数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值