我想知道WHERE SQL语句中的子句是如何工作的,特别是当我们使用"OR“条件时。换句话说,在声明中: SELECT val1 FROM table WHERE val2 = x OR val3 = y 当第一个条件被验证或语句尝试读取所有内容时,搜索是否会直接停止,只是为了检查是否满足其他条件如果它一满足一个条件就停止了,那么我们应该把最大的和需要资源的子句放在子句
我有以下准备好的语句查询:
SELECT id FROM CustomerSettings WHERE id >= ? OR displayNameType = ? AND id < ?奇怪的是,如果我在OR语句之前移动语句,那么MySQL数据库引擎将正确地计算它。这种预期的行为看起来很奇怪吗。我还试着将OR子句放在括号中,不幸的是,这也不起作用;OR后面的AND子句仍然被忽略。