随笔 - 144  文章 - 0  评论 - 2  阅读 - 19万

MySQL查询语句的执行顺序WHERE、JOIN等

执行顺序

  • from
  • join
  • on
  • where
  • group by (从此处开始可以使用select中指定的别名)
  • avg、sum、max
  • having
  • select
  • distinct
  • order by

举例

select  sum(goods.number)  from order 
left join goods on goods.order_id = order.id 
where order.status=1 
group by order.user_id 
having order.add_time > '2018-11-11 00:00:00'
order by goods.number desc

这是一个订单关联商品实例

  • 首先从订单表order里面获取数据
  • 然后通过left join与订单商品表相连接成一个字段更多的表
  • 然后通过where筛选出订单状态为1的数据
  • 然后group by通过用户分组,求得用户的购买商品数量和
  • 然后在上述筛选的数据中,选择订单创建时间在18年11月11日之后的数据
  • 最后把这些数据通过购买的商品数降序排列得到最终的数据结果
posted on   黑夜开发者  阅读(39)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示