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


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

  • 相关阅读:
    五、nginx 配置实例-负载均衡
    四、nginx配置实例-反向代理
    三、nginx配置文件
    二、Nginx 安装
    十二、rpm包的管理
    十一、进程管理
    十、Linux磁盘分区、挂载
    九、定时任务调度
    八、组管理和权限管理
    七、实用指令
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4667052.html
Copyright © 2011-2022 走看看