Это внешнее соединение:
SELECT *
FROM tableA AS a
LEFT JOIN tableB AS b USING(x)
Допустим, у вас есть:
таблица A:
a | x
-----
1 | 1
3 | 3
таблица B:
b | x
-------
1 | 'a'
2 | 'b'
тогда запрос выше даст вам
a | b | x
------------
1 | 'a' | 1
3 | NULL | 3
, если вы хотите
a | b | x
----------------
1 | 'a' | 1
NULL | 'b' | 2
3 | NULL | 3
, вам нужно использовать FULL OUTER JOIN
вместо LEFT JOIN
.
РЕДАКТИРОВАТЬ : Как сказал мне Ларри Лустиг (и я думаю, что это правильно после перечитывания вопроса), ОП не хочет никаких строк из B. Поэтому запрос должен быть:
SELECT a.*
FROM tableA AS a
LEFT JOIN tableB AS b USING(x)
WHERE b.x IS NULL
, который даст
a | x
-------
3 | 3