mysql求和 子查询_MySQL子查询

到现在为止,我们已经表明,以SELECT声明是一个简单的查询。该单个语句从单个数据库表中检索数据。SQL还同意建立一个子查询。即嵌套在其他查询的查询。

下列实施例给出嵌套查询。

一种表示订单信息存储,包含订单号,客户ID。订购日期。例如以下所看到的:

一张表示存储订单物品信息,例如以下:

另一张表存储的是客户的信息。例如以下:

假如如今的需求是要找出订购物品TNT2的全部客户。我们发现通过第二张订购物品表能够获取到订单编号,根据订单编号,能够再第一张订单信息表中获取到对应的客户id。通过客户id即能够在第三张表中查询到客户信息了:

因此有 TNT2 ----> order_num ----> cust_id-----> cust_name。根据之前的SELECT语句能够分条来查询:

如今能够把第一个查询变为第二个查询的子查询来做:

同理我们能够把三个查询语句嵌套到一条SQL语句中,嵌套的SQL语句由内向外计算。即最里面的SELECT语句计算出的结果给外一层的SELECT语句来用:

另外还能够将计算字段作为子查询, 如,我们须要计算出custem表中以个客户须要支付多少钱?先用一个SELECT找出该客户有哪些订单,再将这些订单的价钱加在一起:

先看cust_id = 10001的订单 20005,20009相加的情况:

SUM()函数是进行列相加,正好能够把total当成一列来使用,进行求和, IN(20005,20009)转换为SELECT语句就比較简单了:

以下语句是计算每个客户所须要支付的总金额,是对以上SQL语句的进一步改进,一次求出全部的客户的应付金额:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值