MySQL 括号中的 where 和子句

Den*_*eng 1 mysql

我有一个关于 MySQL where 和子句的问题。下面两个说法是否相同:

1. select * from products where id <> 1 and num > 2

2. select * from products where (id <> 1 and num > 2)
Run Code Online (Sandbox Code Playgroud)

KAD*_*KAD 5

是的,它们是一样的。这里的括号与条件语句中所有括号的作用相同。

当与ANDthen 一起使用时,它们不会对病情产生任何影响,只要它仅AND在其中存在即可。这同样适用于只有 inside 的语句ORAND当两者一起使用OR时,只要它们用于子操作而不是整个条件,它们就会产生影响:

A AND (B OR C) != (A AND B) OR C
Run Code Online (Sandbox Code Playgroud)

在 SQL 中,括号还用于IN子句、EXISTS子查询和其他基础知识