You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Northwind数据库仅通过表连接获取最新及最早订单的可行性咨询

基于表连接查询Northwind数据库最早/最新订单的方案

结论

完全可以仅通过表连接实现该需求,不需要使用子查询、TOP 1语法,同时天然支持同订单日期下多份订单全部返回的要求。

实现SQL代码

-- 合并返回最早+最新的所有订单
SELECT o1.*
FROM Orders o1
LEFT JOIN Orders o2 
  ON o2.OrderDate < o1.OrderDate
WHERE o2.OrderID IS NULL

UNION ALL

SELECT o1.*
FROM Orders o1
LEFT JOIN Orders o2 
  ON o2.OrderDate > o1.OrderDate
WHERE o2.OrderID IS NULL

逻辑说明

  • 最早订单筛选:将Orders表自连接,连接条件设为关联表o2的OrderDate小于主表o1的OrderDate,当筛选条件o2.OrderID IS NULL生效时,说明不存在比当前o1订单日期更早的订单,因此o1的订单就是全库最早的订单
  • 最新订单筛选:逻辑和最早订单完全一致,仅将连接条件修改为o2.OrderDate > o1.OrderDate,即可筛选出不存在更晚日期的所有最新订单
  • UNION ALL用于合并两类结果,不会去重,只要符合最早或最新条件的订单都会被完整返回,即使多份订单日期完全相同也不会遗漏

内容的提问来源于stack exchange,提问作者Riv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:06:03