Re: Table1 exclude Table2

2006-09-06 Пенетрантность Alexander A. Venikov
Hello, Tonal! You wrote on Wed, 06 Sep 2006 15:25:30 +0700: T> А если второй вариант чуть подправить? T> select a.* from agrees a T> left join payments p on p.agr_id=a.id T> where p.agr_id is null Уже ответил. Та же мысль пришла в голову чуть раньше. :) Удач -- Alexander A. Venikov, Tobolsk, R

Re: Table1 exclude Table2

2006-09-06 Пенетрантность Alexander A. Venikov
Hello, Ded! You wrote on Wed, 06 Sep 2006 12:22:14 +0400: D> Alexander A. Venikov wrote: >> Так что... Запрос не по одному разу выполнялся, в среднем соотношение в >> пользу варианта с not exists. Возможно, на других данных картина будет >> несколько другой, но вот так на паре наобум взятых та

Re: Table1 exclude Table2

2006-09-06 Пенетрантность Tonal
Alexander A. Venikov пишет: Вариант с not exists: select * from agrees a where not exists (select agr_id from payments where agr_id=a.id) Вариант с left join select * from agrees a left join payments p on p.agr_id=a.id where p.agr_id is null А если второй вариант чуть подправить? select a.

Re: Table1 exclude Table2

2006-09-06 Пенетрантность Alexander A. Venikov
Hello, Alexander! You wrote to Качановский Дмитрий on Wed, 6 Sep 2006 14:08:41 +0600: Вот так select a.* from agrees a left join payments p on p.agr_id=a.id where p.agr_id is null несколько лучше (выбирается столько же столбцов, что и в первом варианте), но все равно уступает not exists. Уд

Re: Table1 exclude Table2

2006-09-06 Пенетрантность Ded
Alexander A. Venikov wrote: Так что... Запрос не по одному разу выполнялся, в среднем соотношение в пользу варианта с not exists. Возможно, на других данных картина будет несколько другой, но вот так на паре наобум взятых таблиц я получил явное преимущество not exists по сравнению с left join.

Re: Table1 exclude Table2

2006-09-06 Пенетрантность Alexander A. Venikov
Hello, Качановский! You wrote on Wed, 6 Sep 2006 09:28:22 +0300: >> Можно left join использовать и "where t2.somefield is null", однако, not >> exists лучше imho. Специального оператора (кроме not exists) не >> припоминаю. КД> чем это not exist лучше??? КД> если я все правильно путаю, то НОТ

Re: Table1 exclude Table2

2006-09-06 Пенетрантность Konstantin R. Beliaev
Alexander A. Venikov wrote: Можно left join использовать и "where t2.somefield is null", однако, not exists лучше imho. Специального оператора (кроме not exists) не припоминаю. У Грабера нашел оператор EXCEPT: select A EXCEPT select B но, как я понимаю, "его нет".

Re: Table1 exclude Table2

2006-09-06 Пенетрантность Мадорский Г . В .
t1 left join t2 и проверка какого нибудь not null поля из второй таблицы на null. ежели поле, по которому join выполняется, будет неуникальным, то еще и distinct понадобиться. Чего-то с утра фигню какую-то несу... :) With b/r. Gleb.

Re: Table1 exclude Table2

2006-09-05 Пенетрантность ����������� ������
> íÏÖÎÏ left join ÉÓÐÏÌØÚÏ×ÁÔØ É "where t2.somefield is null", ÏÄÎÁËÏ, not > exists ÌÕÞÛÅ imho. óÐÅÃÉÁÌØÎÏÇÏ ÏÐÅÒÁÔÏÒÁ (ËÒÏÍÅ not exists) ÎÅ > ÐÒÉÐÏÍÉÎÁÀ. ÞÅÍ ÜÔÏ not exist ÌÕÞÛÅ??? ÅÓÌÉ Ñ ×ÓÅ ÐÒÁ×ÉÌØÎ

Re: Table1 exclude Table2

2006-09-05 Пенетрантность Мадорский Г . В .
"Yurij" <[EMAIL PROTECTED]> сообщил/сообщила в новостях следующее: news:[EMAIL PROTECTED] Konstantin R. Beliaev wrote: Напомните, плиз: есть ли в полуторке оператор, позволяющий вывести данные из таблицы 1 _кроме_ данных, присутствующих в таблице 2 ? t1 left join t2 и проверка какого ниб

Re: Table1 exclude Table2

2006-09-05 Пенетрантность Alexander A. Venikov
Hello, Konstantin! You wrote on Tue, 05 Sep 2006 18:40:02 +0400: KRB> Напомните, плиз: есть ли в полуторке оператор, позволяющий KRB> вывести данные из таблицы 1 _кроме_ данных, присутствующих KRB> в таблице 2 ? Можно конечно использовать not exists(), но KRB> в памяти вертится какой-то специал

Re: Table1 exclude Table2

2006-09-05 Пенетрантность Yurij
Konstantin R. Beliaev wrote: > Напомните, плиз: есть ли в полуторке оператор, позволяющий вывести > данные из таблицы 1 _кроме_ данных, присутствующих в таблице 2 ? t1 left join t2 и проверка какого нибудь not null поля из второй таблицы на null.

Re: Table1 exclude Table2

2006-09-05 Пенетрантность Oleg LOA
"Konstantin R. Beliaev" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > > Напомните, плиз: есть ли в полуторке оператор, позволяющий вывести > данные из таблицы 1 _кроме_ данных, присутствующих в таблице 2 ? > Можно конечно использовать not exists(), но в памяти вертится какой-то

Table1 exclude Table2

2006-09-05 Пенетрантность Konstantin R. Beliaev
Напомните, плиз: есть ли в полуторке оператор, позволяющий вывести данные из таблицы 1 _кроме_ данных, присутствующих в таблице 2 ? Можно конечно использовать not exists(), но в памяти вертится какой-то специальный оператор... Или ошибаюсь?