• MariaDB Subquery


    MariaDB Subquery

    prod_id ==> order_num

    (jlive)[crashcourse]>SELECT order_num FROM orderitems WHERE prod_id = 'TNT2';

    +-----------+

    | order_num |

    +-----------+

    |     20005 |

    |     20007 |

    +-----------+

    2 rows in set (0.00 sec)

    order_num ==> cust_id

    (jlive)[crashcourse]>SELECT cust_id FROM orders WHERE order_num IN (20005,20007);

    +---------+

    | cust_id |

    +---------+

    |   10001 |

    |   10004 |

    +---------+

     

    2 rows in set (0.00 sec)

    cust_id ==> cust_name,cust_contact

    (jlive)[crashcourse]>SELECT cust_name, cust_contact FROM customers WHERE cust_id IN (10001,10004);

    +----------------+--------------+

    | cust_name      | cust_contact |

    +----------------+--------------+

    | Coyote Inc.    | Y Lee        |

    | Yosemite Place | Y Sam        |

    +----------------+--------------+

     

    2 rows in set (0.00 sec)



    (jlive)[crashcourse]>SELECT cust_name, cust_contact FROM customers WHERE cust_id IN (SELECT cust_id FROM orders WHERE order_num  IN (SELECT order_num FROM orderitems WHERE prod_id = 'TNT2'));

    +----------------+--------------+

    | cust_name      | cust_contact |

    +----------------+--------------+

    | Coyote Inc.    | Y Lee        |

    | Yosemite Place | Y Sam        |

    +----------------+--------------+

     

    2 rows in set (0.01 sec)

    (jlive)[crashcourse]>SELECT cust_name, cust_contact FROM customers, orders, orderitems WHERE customers.cust_id = orders.cust_id AND orderitems.order_num = orders.order_num AND prod_id = 'TNT2';

    +----------------+--------------+

    | cust_name      | cust_contact |

    +----------------+--------------+

    | Coyote Inc.    | Y Lee        |

    | Yosemite Place | Y Sam        |

    +----------------+--------------+

     

    2 rows in set (0.00 sec)

    (jlive)[crashcourse]>SELECT cust_name, cust_contact FROM customers AS c, orders AS o, orderitems AS oi WHERE c.cust_id = o.cust_id AND oi.order_num = o.order_num AND prod_id = 'TNT2';

    +----------------+--------------+

    | cust_name      | cust_contact |

    +----------------+--------------+

    | Coyote Inc.    | Y Lee        |

    | Yosemite Place | Y Sam        |

    +----------------+--------------+

     

    2 rows in set (0.00 sec)



    子查询混合计算

    (jlive)[crashcourse]>SELECT COUNT(*) AS orders FROM orders WHERE cust_id = 10001;

    +--------+

    | orders |

    +--------+

        2 |

    +--------+

     

    1 row in set (0.00 sec)

    (jlive)[crashcourse]>SELECT cust_id, cust_name, cust_state, (SELECT COUNT(*) FROM orders WHERE orders.cust_id = customers.cust_id) AS orders FROM customers ORDER BY cust_name;

    +---------+----------------+------------+--------+

    | cust_id | cust_name      | cust_state | orders |

    +---------+----------------+------------+--------+

    |   10001 | Coyote Inc.    | MI             2 |

    |   10005 | E Fudd         | IL             1 |

    |   10002 | Mouse House    | OH             0 |

    |   10003 | Wascals        | IN             1 |

    |   10004 | Yosemite Place | AZ             1 |

    +---------+----------------+------------+--------+

     

    5 rows in set (0.00 sec)

  • 相关阅读:
    思维导图形式带你读完《大型网站技术架构》中
    思维导图形式带你读完《大型网站技术架构》上
    淘淘商城项目补充(2)商品上架和下架功能实现
    淘淘商城项目补充(1)批量删除商品功能实现
    商城项目(ssm+dubbo+nginx+mysql统合项目)总结(3)
    阿里Java研发工程师实习面经,附面试技巧
    商城项目(ssm+dubbo+nginx+mysql统合项目)总结(2)
    商城项目(ssm+dubbo+nginx+mysql统合项目)总结(1)
    高性能优秀的服务框架-dubbo介绍
    回溯算法_01背包问题_Java实现
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814185.html
Copyright © 2020-2023  润新知