如何在select中使用not子句

时间:2011-04-03 06:28:28

标签: java mysql

在以下查询中:

query = "SELECT * FROM racetimes WHERE course='" + myracecoursevariable + "'";

我想更改查询并从数据库中选择数据,其中课程不等于MYSQL中查询中给出的动态变量。

4 个答案:

答案 0 :(得分:3)

您可以使用不等于<>而不是等于=

query = "SELECT * FROM racetimes WHERE course <> '" + myracecoursevariable + "'";

答案 1 :(得分:2)

query = "SELECT * FROM racetimes WHERE course <> '" + myracecoursevariable + "'";

<>表示NOT EQUAL,而=表示EQUAL

<强> PS 即可。我宁愿学习如何使用PreparedStatement代替'" + myracecoursevariable + "'";(请参阅Oracle中的示例)。

答案 2 :(得分:2)

  1. 永远不要通过字符串连接来构建查询 - 这就是要求解决问题(SQL注入,“\ n”字符在竞赛过程中等)。在Java中,将PreparedStatement?占位符一起使用。
  2. SQL中的!=操作是<>

答案 3 :(得分:2)

"SELECT * FROM racetimes WHERE not (course='" + myracecoursevariable + "')";

"SELECT * FROM racetimes WHERE course <> '" + myracecoursevariable + "'";

您应该使用预准备语句将动态变量传递给MySQL