通常、私は「notin」というキーワードを使用してパターンマッチングを使用します。
SELECT kolom1 from tabel where kategori not in ('A', 'B')
それから私は「好きではない」というキーワードを使おうとしました
SELECT kolom1 from tabel where kategori not like any (array['A', 'B'])
結果は同じだと思います。しかし、実行後の結果は異なります。結果が異なる理由に興味があります。調べた後、anyキーワードがどのように機能するかは、要素の1つが満たされた場合にtrueを返すことです。したがって、要素Aをキーワードと比較すると、配列内の要素の1つ、つまりBではなく、基準を満たしているため、真になります。その逆も同様です。望ましい結果は要素Aでも要素Bでもありません。この問題に答えるために、「すべてではない」というキーワードが使用されます。
SELECT kolom1 from tabel where kategori not like all (array['A', 'B'])
参照
stackoverflow