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

含子查询的INNER JOIN SQL语句报语法错误,请求排查修正

SQL语法错误排查与修正

错误原因

  1. JOIN子句位置违规:SQL要求所有JOIN操作必须放在WHERE过滤条件之前,原语句在第一个WHERE后写INNER JOIN city,直接触发语法报错。
  2. 重复使用WHERE子句:单条SELECT语句仅允许一个WHERE子句,原语句拆分写了两个,不符合语法规范。
  3. 关联字段错误:c.city.city_id写法错误,customer表关联city表的外键应为c.city_id(假设customer表存储city的外键字段是city_id)。

修正后的SQL语句

SELECT c.first_name, c.last_name
FROM customer c
INNER JOIN payment p ON c.customer_id = p.customer_id
INNER JOIN city ON c.city_id = city.city_id
WHERE p.amount > (SELECT AVG(amount) FROM payment)
  AND city.city LIKE '%a%';

核心修正点

  • 调整INNER JOIN city的位置,移至第一个WHERE之前,遵循FROM → JOIN → WHERE的标准SQL语法顺序。
  • 将两个过滤条件合并到同一个WHERE子句中,用AND逻辑连接。
  • 修正表关联字段为正确的c.city_id = city.city_id,同时确保模糊匹配的字段为city表的城市名称字段(这里按原语句意图设为city.city,可根据实际表结构调整)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:25:56