前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第11课 使用子查询使用计算字段作为子查询

第11课 使用子查询使用计算字段作为子查询

作者头像
desperate633
发布2018-08-22 10:40:40
1.4K0
发布2018-08-22 10:40:40
举报
文章被收录于专栏:desperate633

我们考虑一个问题,列出订购物品‘RGAN01’的所有顾客的信息,那我们应该用怎样的信息检索?

  • 检索包含物品‘RGAN01’的所有订单号
  • 从这个订单号里到orders表里检索出custid
  • 再根据custid从customers的表里检索顾客的信息

上面三个步骤每个步骤都可以单独作为一个查询来执行,这就出现了子查询的定义。

不使用子查询“

代码语言:javascript
复制
select order_num
from orderitems
where prod_id = 'RGAN01';

select cust_id 
from orders
where order_num in (20007,20008)

使用子查询:

代码语言:javascript
复制
select cust_id
from orders
where order_num in (select order_num
from orderitems
where prod_id = 'RGAN01');

使用计算字段作为子查询

假设有这么一个问题,显示customers表中的每个顾客订单的总数:

  • 第一步,自然是检索出所有顾客的列表
  • 然后对于每个顾客统计其在orders表中的订单数目
代码语言:javascript
复制
select customers.cust_name, customers.cust_state,(
    select count(*)
    from orders
    where orders.cust_id = customers.cust_id
) as orders
from customers
order by cust_name;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.01.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用计算字段作为子查询
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档