• 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语句的进一步改进,一次求出全部的客户的应付金额:


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

  • 相关阅读:
    C++调用外部应用程序
    SVN文件加锁
    vs ComboBox显示多行
    __slots__ Python Class限制添加属性
    Python数据分析之pandas学习
    整理Lua和Unity和Lua交互文章链接
    [整理]Unity3D游戏开发之Lua
    ping telnet ssh netstat
    java rpc
    css 手机适配
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4667052.html
Copyright © 2020-2023  润新知