WHERE句で否定の論理和?
対象のテーブル定義と内容
CREATE TABLE r
(`id` int, `age` int)
;
INSERT INTO r
(`id`, `age`)
VALUES
(1, 1),
(2, 2),
(3, 5),
(4, 7),
(5, 9)
;
抽出したい結果
「idが3ではない」または「ageが2ではない」レコード
1, 1
4, 7
5, 9
試したSQL1
意図しない結果になりました。
下記はどういう意味になるのですか?
SELECT * FROM `r` WHERE `id` != 3 OR `age` != 2;
試したSQL2
意図した結果を取得できたのですが、(ANDなのに)なぜですか?
これは否定の論理和ですか??
SELECT * FROM `r` WHERE `id` != 3 AND `age` != 2;