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

如何在SQL Select语句中插入默认值?现有实现求优化

优化在查询结果顶部添加默认“All”行的SQL方案

嘿,你的现有实现是能达到需求的,但确实有更简洁高效的优化方案,不用绕弯子创建临时表~

更优方案:直接用UNION ALL合并结果

你可以跳过表变量的定义和两次插入操作,直接把默认行和原表的查询结果合并,代码更简洁,性能也更好:

SELECT 'All' AS SiteID, 'All' AS SiteName
UNION ALL
SELECT DISTINCT SiteID, SiteName 
FROM Sitetbl

为什么这个方案更好?

  • 代码更简洁直观:省去了临时表的创建和插入步骤,逻辑一目了然,维护起来更方便
  • 性能更优:UNION ALL不会做重复值检查(这里默认的"All"行和原表数据几乎不可能重复),比先插入临时表再查询的方式减少了内存开销和额外的IO操作,数据量越大优势越明显
  • 灵活性强:如果担心原表中恰好存在('All','All')的记录,只需要把UNION ALL改成UNION即可自动去重(不过这种业务场景很少见,优先用UNION ALL)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:21:24