NOT IN
はクエリで!=
と同じ動作をすると思いました。しかし!=
を使用してクエリがNOT IN
を使用してクエリよりも多くの行を返す:SQLのクエリでNOT INとNOT EQUALSの違いが異なる
SELECT count(A.NO)
FROM A
WHERE
A.CODE != 'a'
AND
A.CODE != 'b'
AND
A.CODE != 'c'
AND
A.NAME != 'd'
AND
A.NAME != 'e'
リターン1566行を、
SELECT count(A.NO)
FROM A
WHERE
A.CODE NOT IN ('a','b','c')
AND
A.NAME NOT IN ('d','e')
リターンのみ1200行のに対し。
NOT IN
は、NULL
の値を除外しているとします。それは唯一の違いでしょうか?
A.CODEまたはA.NAMEがNULL値を持っている場合は、その句 – Akash
を私たちに提供することができます最初のクエリではなく2番目のクエリにある行。 A.CODEとA.NAMEの値を見てください。 – Akash
質問に答えるための最も簡単な方法は、366をプリントアウトすることであるWHEREであまりにも無視し、いくつかのデモデータ – byteherder