美文网首页
【SQL】(十一):使用子查询

【SQL】(十一):使用子查询

作者: Lottie2017 | 来源:发表于2020-07-14 11:51 被阅读0次

本系列为自己学习时的笔记及心得体会,转载请注明出处。

前提条件:数据库中有5个数据表。订单存储在两个表中。

orders表:每个订单包含订单编号,客户ID,订单日期,在Orders表中存储为一行。

orderItems表:各订单的物品存储在该表中。

customers表:存储顾客的实际信息。

vendors表:存储销售产品的供应商。

products表:存储商品信息。

1、利用子查询进行过滤

需求:需要列出订购物品 RGAN01的所有顾客。

那么,我们需要:

①在orderItem表获取购买商品RGAN01的订单号。

②在ORDERS表中通过订单号找到对应的顾客ID

③在Customers表中根据顾客ID找到对应的顾客名。

SQL为:


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'))


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

2、作为计算字段使用子查询

需求:需要显示Customers表中每个顾客的订单总数。

此时,执行的操作为:

①在customers表中根据顾客ID匹配顾客名。

②在orders表中检索出每个顾客的订单数

SQL如下:


select cust_name,cust_state,

    (select count(*) 

    FROM orders 

    WHERE Orders.cust_id= Customers.cust_id) AS orders

FROM customers

ORDER BY cust_name


划重点:这里的count(*)用了WHERE子句就没有用GROUP BY了哦。

相关文章

  • 【SQL】(十一):使用子查询

    本系列为自己学习时的笔记及心得体会,转载请注明出处。 前提条件:数据库中有5个数据表。订单存储在两个表中。 ord...

  • 《SQL必知必会》笔记6-子查询、联结表join

    1 使用子查询 查询(query):任何SQL语句都是查询,但一般指SELECT语句。 SQL还允许创建子查询(s...

  • 【GOLANG】GORM组合查询,构建复杂查询

    组合 使用 Group 条件可以更轻松的编写复杂 SQL 形成的SQL语句: 子查询 子查询可以嵌套在查询中,GO...

  • Oracel_子查询

    SQL子查询 子查询语法 子查询 (内查询) 在主查询之前一次执行完成。 子查询的结果被主查询(外查询)使用 。 ...

  • 数据分析之SQL子查询

    文章阅读路线: SQL子查询概念 独立子查询实例 相关子查询实例 SQL子查询常见玩伴 1.SQL子查询概念 子查...

  • 9. 使用子查询

    使用子查询 查询(query) 任何SQL 语句都是查询,但此术语一般指SELECT 语句。 子查询(subque...

  • SQL查询语句之子查询1

    【子查询】 1、 子查询的各个使用形式。 2、 分析子查询的主要意义。 实际上,对于整个的SQL语法而言,所有的组...

  • DAX从入门到精通 1-2-4 DAX和SQL中子查询以及条件

    DAX和SQL中子查询以及条件 SQL作为查询语言,最有力的工具就是可以使用子查询。DAX也有类似的功能,但是DA...

  • SQL必知必会读书笔记11

    使用子查询 SQL允许创建子查询(subquery),即嵌套在其他查询中的查询。信息存储在两个表或多个表中。 利用...

  • thinkphp v5 子查询

    构造子查询SQL,可以使用下面四种的方式来构建子查询。 1、使用select方法 当select方法的参数为fal...

网友评论

      本文标题:【SQL】(十一):使用子查询

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