【数据库基础】mysql必知必会里的例子

冷眼观world 2021-03-31 07:28:11
不知道该如何理解子查询COUNT(*)的意思。 我理解为“统计一共有多少满足条件orders.id = customers.id的订单数”不也是对的吗?最后就应该只输出一个5 为什么电脑就知道这段意思是查询每个顾客的订单数,而且还能自动把每个顾客分开来,然后分组统计?
...全文
241 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyajax 2021-04-28
  • 打赏
  • 举报
回复
这是N+1次查询(从结果看,本次N=5),按先后顺序大致步骤: 一、执行对custumers表的查询,得到5条记录。 二、针对这5条记录,每一条都要再次查询orders表,5次查询的结果分别是2,1,0,1,1. 这样,就把查询结果集中的orders列补上了。
chengangcsdn 2021-04-02
  • 打赏
  • 举报
回复 1
因为子查询中 嵌套了。外部的表的 customers.cust_id啊 那就是customers每行的 cust_id 再去 子查询 orders表中去匹配。所以得到的就是每个 cust_id 所对应的订单数

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧