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

Datalore中Python运行SQLite数据查询语句报语法错误如何解决

错误诱因

SQL语句存在两处语法违规,直接触发执行报错:

  • SELECT查询字段列表缺失分隔逗号:I.Indicator与G.Value两个待查询字段之间未加逗号,SQL解析逻辑会将空格后的内容识别为前一个字段的别名,而SQL别名不允许包含.字符,这就是报错信息提示near ".": syntax error的直接原因。
  • WHERE子句写法不符合SQL语法规范:SQL不支持AND(条件1,条件2,条件3)这类函数式传参的条件写法,且WHERE关键字后不能直接拼接AND连接符,AND的作用仅为分隔多个平行的过滤条件。
修复方法

按照标准SQL语法修正查询语句即可,修正后的可运行代码如下:

gdpquery= '''SELECT C.Country_Area, G.Year, I.Indicator, G.Value 
FROM Countries C, GDP G, Indicators I
WHERE C.CA_M49_Code = G.CA_M49_Code
  AND G.Ind_No = I.Ind_No
  AND G.Ind_Type_No = I.Ind_Type_No'''

gdpdata = pd.read_sql_query(gdpquery, conn)

gdpdata.head(4)

补充说明:你当前使用的多表逗号分隔写法属于隐式内连接,SQLite完全兼容该语法,修正上述两处错误后即可正常返回查询结果。如果后续需要实现左连接、右连接等复杂关联逻辑,可替换为显式JOIN写法,适配性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:09:21