MySQL查询谜题

Pat*_*ore 1 php mysql

我有一个包含两个字段(id和word)的表.任何人都可以告诉我为什么:

$query0 = "SELECT * FROM words WHERE id IN ($treated_words) ";
Run Code Online (Sandbox Code Playgroud)

是一个有效的查询.但:

$query0 = "SELECT * FROM words ORDER BY id ASC WHERE id IN ($treated_words) ";
Run Code Online (Sandbox Code Playgroud)

不是.非常感谢

Mic*_*tta 9

SQL查询中的元素顺序很重要.该ORDER BY条款必须出现在该WHERE条款之后.

查看MySql文档以获取语法规则.你会看到类似的东西

SELECT [ DISTINCT | ALL ]
  column_expression1, column_expression2, ....
  [ FROM from_clause ]
  [ WHERE where_expression ]
  [ GROUP BY expression1, expression2, .... ]
  [ HAVING having_expression ]
  [ ORDER BY order_column_expr1, order_column_expr2, .... ]
Run Code Online (Sandbox Code Playgroud)


Eta*_*tan 6

尝试移动ORDER BY id ASCWHERE id IN ($treated_words)的部分.