数据库学习笔记——11使用子查询

作者: Love零O | 来源:发表于2018-10-15 09:30 被阅读5次

1 子查询

即嵌套在其他查询中的查询。MySQL从4.1版本才支持

2 利用子查询进行过滤

举例说明:列出订购物品 RGAN01 的所有顾客。

  • (1) 检索包含物品 RGAN01 的所有订单的编号。
  • (2)检索具有前一步骤列出的订单编号的所有顾客的ID。
  • (3)检索前一步骤返回的所有顾客ID的顾客信息。
    第一条:SELECT order_num FROM orderitems WHERE prod_id = 'RGAN01';
    1.png
    第二条:SELECT cust_id FROM orders WHERE order_num IN (20007,20008);
    2.png
    结合这两个查询,把第一个查询变为子查询:
    SELECT cust_id FROM orders WHERE order_num IN (SELECT order_num FROM orderitems WHERE prod_id = 'RGAN01');
    1+2.png
    在SELECT语句中,子查询总是从内向外处理。
    第三条: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 = 'RGAN01'));
    3.png

注意:作为子查询的SELECT语句只能查询单个列。

3 作为计算字段使用子查询

举例说明:列出Customers表中每个顾客的订单总数。
SELECT cust_name,cust_state,(SELECT COUNT(*) FROM orders WHERE orders.cust_id=customers.cust_id) AS orsers FROM customers ORDER BY cust_name

4.png
此例中,子查询执行了5次

相关文章

  • 数据库学习笔记——11使用子查询

    1 子查询 即嵌套在其他查询中的查询。MySQL从4.1版本才支持 2 利用子查询进行过滤 举例说明:列出订购物品...

  • SQL基本语句(以MySQL为例)-- 第三部分

    ***11、子查询 *** 作为计算字段的子查询 12、联结查询 等值联结 或者使用内联(INNER JOIN) ...

  • 数据分析之MySQL学习笔记

    MySQL 学习笔记 一、使用终端操作数据库 (一)、基本语句 1、登录数据库服务器 2、查询数据库服务器中所有的...

  • 【MySQL笔记】4 子查询与创建联结

    MySQL笔记基于教材,笔记中用到的数据库可以点击该链接下载 子查询 Subquery 在多张表间查询相关的信息时...

  • MySQL学习笔记二之单表查询与多表查询

    title: MySQL学习笔记二之单表查询与多表查询tags: MySQL 数据库categories: MyS...

  • 【MySQL必知必会】学习笔记Day7

    【MySQL必知必会】学习笔记Day7&1.29&D14-16章&P90-112页 12、使用子查询 (1) 子查...

  • mysql常见问题

    1. select子查询 如果子查询中有许多结果,只能使用子查询中的一个结果; 这时,数据库会报错。改为selec...

  • c#11月13号

    上午学习使用mySQL进行表格操作,然后是数据库,command对象,SQL查询。下午练习了查询方法的使用。

  • MySQL 子查询

    什么是子查询 为什么要使用子查询 子查询的分类 怎样使用子查询 关联子查询 要使用的数据表 1. 什么是子查询? ...

  • 2018-06-04

    第11章 子查询 11.1 子查询 SQL 允许创建子查询(subquery),即嵌套在其他查询中的查询。 11....

网友评论

    本文标题:数据库学习笔记——11使用子查询

    本文链接:https://www.haomeiwen.com/subject/bdrgaftx.html