SQL Select语句针对索引为UNIQUE的属性

use*_*411 2 sql select

有一个包含三列的表: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值

Ole*_*Dok 5

不,查询不正确.这是正确的:

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的所有行