SQL-запрос возвращает все результаты из таблицы A и только результаты из таблицы B, которые не включены в таблицу A - PullRequest
0 голосов
/ 26 июня 2019

Я пытаюсь запросить две таблицы и вернуть один результирующий набор, который включает все значения из таблицы A и только значения из таблицы B, которые не включены в таблицу A.

Table A        Table B
ID  Name       ID  Name
A   John       C   Drew
B   Jacob      D   Shane
C   Nancy

На основе идентификаторастолбец, набор результатов должен быть:

ID  Name
A   John
B   Jacob
C   Nancy
D   Shane

Я бы исключил идентификатор C из таблицы B из набора результатов, поскольку в таблице A есть запись с идентификатором C.

Кто-нибудь знает, какЯ бы начал делать это?

1 Ответ

2 голосов
/ 26 июня 2019

Вы можете сделать это, используя union all и not exists:

select a.id, a.name
from a
union all
select b.id, b.name
from b
where not exists (select 1 from a where a.id = b.id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...