SQL-запрос: без использования подзапроса - PullRequest
1 голос
/ 12 января 2010

как я могу получить все записи из 1-й таблицы, отсутствующие во 2-й таблице, без использования подзапроса? я хотел бы использовать Join ...

Ответы [ 2 ]

2 голосов
/ 14 января 2010

Вы даже можете использовать

а) EXCEPT

б) Where Not in

например. Пример данных

declare @t1 table(id1 int, recordsA varchar(20))
insert into @t1 
select 1,'record1' union all 
select 2,'record2' union all
select 3,'record3' union all
select 4,'record4' union all
select 5,'record5'

declare @t2 table(id2 int, recordsB varchar(20))
insert into @t2 
select 1,'record1' union all 
select 2,'record2' union all
select 3,'record3' 

Запрос: 1

select t1.id1,t1.recordsA from @t1  t1
except
select t2.id2,t2.recordsB from @t2 t2

Запрос 2:

select t1.id1,t1.recordsA from @t1  t1 
where  t1.recordsA not in(select t2.recordsB from @t2 t2)

Вывод:

id1 recordsA
4   record4
5   record5
2 голосов
/ 12 января 2010
SELECT A.someColumn
FROM A LEFT JOIN B
ON A.ID = B.ID
WHERE B.ID IS NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...