Russian Qt Forum

Программирование => Базы данных => Тема начата: Monika от Март 31, 2004, 17:45



Название: Сравнение двух таблиц
Отправлено: Monika от Март 31, 2004, 17:45
Нужно сравнить две таблицы , содержащие t1) id
t2) id
и вытащить из первой таблицы t1 все значения, которых нет в t2
уверенна что это просто, но блин как...


Название: Сравнение двух таблиц
Отправлено: Slaven от Апрель 01, 2004, 15:13
Например, так (просто и очень быстро):
select id from t1
minus
select id from t2

Или так (что не всегда быстро):
select id from t1
    where id not in
    (
        select id from t2
    )


Название: Сравнение двух таблиц
Отправлено: EugeneVC от Апрель 01, 2004, 16:03
Что за minus
это что вложенные селекты?


Название: Re: Сравнение двух таблиц
Отправлено: ods от Апрель 02, 2004, 15:12
Цитата: "Monika"
Нужно сравнить две таблицы , содержащие t1) id
t2) id
и вытащить из первой таблицы t1 все значения, которых нет в t2
уверенна что это просто, но блин как...

Какая СУБД-то? В большинстве должно сработать "SELECT t1.id FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL"


Название: Re: Сравнение двух таблиц
Отправлено: CBapor от Февраль 16, 2005, 05:13
Цитата: "Monika"
Нужно сравнить две таблицы , содержащие t1) id
t2) id
и вытащить из первой таблицы t1 все значения, которых нет в t2
уверенна что это просто, но блин как...


select * from t1 a
where not exists
(
   select * from t2 b where b.id=a.id
)