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

执行含NATURAL JOIN的SQL查询时WHERE子句附近报语法错误如何解决

问题成因
  • 语法错误来源于不合法的字符串标识符号:SQL规范要求使用半角单引号'包裹字符串常量,你当前语句中包裹Uncle Samsonite和Shakespeare的是中文全角单引号‘/’,不属于SQL可识别的合法字符串边界,因此解析到对应位置时触发报错。
  • 该报错和WHERE子句中的表名前缀无关,即便删除前缀,只要全角引号未修正,语法错误就会持续存在。
解决方案

将WHERE子句中所有全角单引号替换为半角单引号即可,修正后的可执行SQL如下:

SELECT title, last_name 
FROM book_info NATURAL JOIN book_author NATURAL JOIN author
WHERE book_info.title = 'Uncle Samsonite' AND author.last_name = 'Shakespeare';

补充验证:你移除WHERE子句后语句可正常运行,恰好说明NATURAL JOIN的关联逻辑本身没有问题,错误仅出在WHERE条件里的非法符号上。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:27:00