簡単にするために、単純なテーブル/フィールド名を使用します。
SELECT A.a
FROM A LEFT JOIN B ON A.a = B.a
WHERE B.a IS NULL
AND B.a NOT IN (
SELECT B.a FROM B WHERE B.b = 'literal'
)
特定の値(パラメータとして渡される)に等しい行のテーブルにA
フィールドa
が存在しないテーブルから行を返すことになっています。B
B.b
A.a
-------
1
2
3
B.a B.b
----- -----
1 'literal'
1 'abc'
2 'def'
そのデータを考慮すると、クエリは次を返す必要があります。
A.a
------
2
3