私はSQLについての最適な質問があります。sql-statementの複数のand- and or-条件を減らすにはどうすればよいですか?
この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'
私はSQLについての最適な質問があります。sql-statementの複数のand- and or-条件を減らすにはどうすればよいですか?
この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 != 'abc' and
COLUMN != 'def' and
COLUMN != 'xau' and
COLUMN != 'def' and
COLUMN != 'eag' and
COLUMN != 'dff' and
COLUMN != 'www'
と第二のSQL構文は:
複数のOR条件を使用して書き換えることができます。
複数のAND条件で、同じ列に2つ以上の値がある可能性がある場合は、教えてください。
私は私の質問を編集しました。おそらく、2番目のSQL文も解決できます。 –
詳細を追加しました。 – Sunil
ブール代数を使用:
第一:(!x)AND(!y)..AND(!z) == !(x or y...or 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
秒1は、任意の値に当てはまります。 – James
申し訳ありませんが変更!= to = –