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

如何在FROM语句中直接添加数据记录,无需使用TEMP表?

直接在查询中拼接自定义记录的实现方法

你想要的这种无需临时表、直接在查询中嵌入自定义记录的写法是可行的,但不同数据库的语法略有差异,以下是主流数据库的具体实现方式:

SQL Server

通过VALUES子句构造自定义行集,再用UNION ALL与原表数据合并:

SELECT
   [Employee].[ID]
  ,[Employee].[NAME]
FROM [EMPLOYEE]
UNION ALL
SELECT ID, NAME
FROM (VALUES
    (45, 'Buck Rogers'),
    (46, 'Twiki'),
    (47, 'Col Wilma Deering')
) AS CustomRecords(ID, NAME)

MySQL / MariaDB

支持直接在UNION ALL后使用VALUES子句:

SELECT
   `Employee`.`ID`
  ,`Employee`.`NAME`
FROM `EMPLOYEE`
UNION ALL
VALUES
    (45, 'Buck Rogers'),
    (46, 'Twiki'),
    (47, 'Col Wilma Deering');

PostgreSQL

用VALUES子句构造行集并指定别名后,与原表合并:

SELECT
   "Employee"."ID"
  ,"Employee"."NAME"
FROM "EMPLOYEE"
UNION ALL
SELECT * FROM (VALUES
    (45, 'Buck Rogers'),
    (46, 'Twiki'),
    (47, 'Col Wilma Deering')
) AS CustomRecords(ID, NAME);

关键注意点

  • 自定义记录的列数量、数据类型必须和原表查询结果完全匹配,否则UNION ALL会抛出类型不兼容的错误。
  • 若需要自动去重,可将UNION ALL替换为UNION,但这会触发额外的排序操作,非必要场景不建议使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 13:35:45