有一个包含三列的表:col1是主INT,col2和col 3是UNIQUE和INT.
我需要选择col1,col2和col3等于const1和col2和的行
col3不等于零.
以下查询是否正确?
注意:为属性使用了有意义的名称,并为此处给出了值
仅限行政目的.
SELECT * FROM table WHERE col1 = const OR col2 = const OR col3 = const AND (coll2 <> 0 AND col3 <> 0);
Run Code Online (Sandbox Code Playgroud)
const可以是任何INT值
不,查询不正确.这是正确的:
SELECT *
FROM table
WHERE
const1 IN (col1, col2, col3)
AND 0 NOT IN (col2, col3)
Run Code Online (Sandbox Code Playgroud)
更新:
您的查询找到col2 <> 0和col3 <> 0的所有行,并追加一列或多列等于const的所有行