Database 如何减少sql语句中的多个and和or条件?

Database 如何减少sql语句中的多个and和or条件?,database,sql-optimization,database-optimization,Database,Sql Optimization,Database Optimization,我有一个关于SQL的优化问题 有没有办法减少这种sql语法: Select * from TABLE where COLUMN != 'abc' and COLUMN != 'def' and COLUMN != 'xau' and COLUMN != 'def' and COLUMN != 'eag' and COLUMN != 'dff' and COLUMN != 'www' 第二种是sql语法 Select * from TABLE where COLUMN =

我有一个关于SQL的优化问题

有没有办法减少这种sql语法:

Select * from TABLE 
where 
COLUMN != 'abc' and 
COLUMN != 'def' and 
COLUMN != 'xau' and 
COLUMN != 'def' and 
COLUMN != 'eag' and 
COLUMN != 'dff' and 
COLUMN != 'www' 
第二种是sql语法

Select * from TABLE 
where 
COLUMN = 'abc' or 
COLUMN = 'def' or 
COLUMN = 'xau' or 
COLUMN = 'def' or 
COLUMN = 'eag' or 
COLUMN = 'dff' or 
COLUMN = 'www' 
试试这个:

可以使用以下命令重新写入多个或多个条件:

Select * from TABLE 
where 
COLUMN not in('abc','def','xau','def','eag','dff','www')
多重和条件,当同一列的值可能超过1时,您能告诉我吗?

使用布尔代数:

第一:
(!x)和(!y)…和(!z)=!(x或y…或z)

意思是:

 Select * from TABLE WHERE COLUMN NOT IN ('abc','def',...)





    2nd:  (!x)or(!y)..or(!z)==!(x AND Y AND ..Z) 
 however  the intersection of  x AND Y ... AND Z  is the empty set.
So  (!x)or(!y)..or(!z)==!(x AND Y AND ..Z)  = !(False) = True.

Meaning:

    Select * from TABLE  //no WHERE CLAUSE NEEDED

我编辑了我的问题。也许你也可以解决第二条sql语句。添加了更多详细信息。第二条对于任何值都是正确的。对不起,我更改了!=到=