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

在DataGrip中如何通过Excel的STUDENTID批量查询TABLE1数据?

在DataGrip中用Excel的STUDENTID批量查询TABLE1的方法

不用非得把2000个STUDENTID挨个写到SQL语句里,DataGrip提供了几种更高效的实现方式:

方法1:导入Excel数据到临时表查询

这种方式适合需要重复使用或Excel数据更新频率中等的场景:

  • 先在数据库里新建一张临时表(例如TEMP_STUDENTS),只保留STUDENTID列即可
  • 右键临时表,选择「Import Data」,按照向导提示选择你的Excel文件,完成数据导入
  • 之后用以下SQL查询:
-- 关联查询(性能更优)
SELECT t.* 
FROM TABLE1 t
JOIN TEMP_STUDENTS ts ON t.STUDENTID = ts.STUDENTID;

-- IN子查询写法
SELECT * 
FROM TABLE1 
WHERE STUDENTID IN (SELECT STUDENTID FROM TEMP_STUDENTS);

如果Excel中的ID有更新,重新导入一次临时表数据即可。

方法2:直接连接Excel作为数据源跨表查询

适合Excel数据频繁变动的场景,无需导入数据,实时读取Excel内容:

  • 点击DataGrip左侧「Database」面板的「+」按钮,选择「Data Source」→「Excel」
  • 按照向导选择目标Excel文件,完成数据源配置
  • 直接编写跨数据源查询SQL(Excel工作表名需加$后缀,例如工作表名为Sheet1则用[Sheet1$]):
SELECT * 
FROM TABLE1 t
WHERE t.STUDENTID IN (SELECT STUDENTID FROM [Sheet1$]);

Excel数据更新后,刷新Excel数据源就能直接用最新数据查询。

方法3:临时快速查询(适合单次使用)

如果只是临时查一次,可快速处理Excel数据后用变量占位:

  • 复制Excel中所有STUDENTID值,用文本编辑器把每行ID替换为'ID值',格式,删除末尾多余的逗号
  • 在DataGrip中编写带变量的SQL:
SELECT * 
FROM TABLE1 
WHERE STUDENTID IN (${student_ids});

运行查询时,在弹出的变量输入框中粘贴处理好的ID字符串即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:07:24