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

MySQL 5.6中不使用临时表能否在SELECT中直接使用值列表查询

MySQL 5.6 无临时表实现方案

你可以直接通过UNION ALL构造内联值列表的派生表来替代临时表,完全不需要创建临时表、插入数据的额外步骤,适配MySQL 5.6版本的查询语句如下:

SELECT t.term, rt.description, rt.soundex
FROM realtable rt
JOIN (
    SELECT 'brocoli' AS term, SOUNDEX('brocoli') AS soundexterm
    UNION ALL
    SELECT 'rice' AS term, SOUNDEX('rice') AS soundexterm
    UNION ALL
    SELECT 'aple' AS term, SOUNDEX('aple') AS soundexterm
) t ON t.soundexterm = rt.soundex;

说明

  • 你原查询存在别名笔误:子查询别名定义为t,但后续关联和取值错误使用了tt,上述语句已修正该问题
  • 派生表内的每一行SELECT对应你原本要插入临时表的一条记录,UNION ALL将多条记录拼接为虚拟表,和realtable关联的逻辑和你原逻辑完全一致
  • 最终返回结果和你使用临时表的查询结果完全相同,和你给出的示例输出无差异

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 13:54:01