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

为何添加ORDER BY后SQL查询报错?仅移除该子句或其后内容可运行

问题原因及解决方法

你的核心问题是SQL关键字的顺序错误,这是SQL语法的基础规则:查询语句的关键字必须遵循固定书写顺序,正确顺序为:
SELECT → FROM → WHERE(含连接条件) → ORDER BY

你把ORDER BY子句写在了WHERE前面,数据库的SQL解析器无法识别这种不符合规范的语法结构,导致语句执行失败。

修正后的正确SQL语句

将ORDER BY移到WHERE条件之后即可正常运行:

SELECT Titre, Libelle, DateSpectacle 
FROM piece, salle, spectacle 
WHERE Titre LIKE '%'
AND piece.IdPiece = spectacle.IdPiece AND salle.IdSalle = spectacle.IdSalle
ORDER BY DateSpectacle ASC;

额外优化建议

你当前使用的是逗号分隔表的旧式连接写法,推荐使用更清晰的JOIN语法,能更直观地表达表间关联关系,也能避免误写笛卡尔积查询:

SELECT Titre, Libelle, DateSpectacle 
FROM piece
INNER JOIN spectacle ON piece.IdPiece = spectacle.IdPiece
INNER JOIN salle ON salle.IdSalle = spectacle.IdSalle
WHERE Titre LIKE '%'
ORDER BY DateSpectacle ASC;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:22:07