Вниз
Скачать: CL | DM;

Запрос по БД   Найти похожие ветки 

← →
n_sch   (2007-10-31 11:41) [0]

Добрый день! Есть две таблицы, одна с эталонными данными, другая с меняющимся числом записей обе проиндексированны по одному ключевому полю. Вопрос как из эталонной таблицы выбрать только те записи которых нет в таблице с меняющимся числом записей??? SQL запросы типа "<>" или NOT LIKE не помогают...Заранее спасибо!


← →
Sergey13 ©   (2007-10-31 11:44) [1]

not exists попробуй


← →
Правильный_Вася   (2007-10-31 11:46) [2]

SELECT t1.* FROM t1 LEFT OUTER JOIN t2 ON t1.pk=t2.pk
WHERE t2.pk IS NULL


← →
DrPass ©   (2007-10-31 13:49) [3]


> Sergey13 ©   (31.10.07 11:44) [1]
> not exists попробуй

С Interbase так пробовать не надо. Она на каждую запись будет отдельный select делать. Только LEFT JOIN


← →
Sergey13 ©   (2007-10-31 14:24) [4]

> [3] DrPass ©   (31.10.07 13:49)

> Она на каждую запись будет отдельный select делать.

Это нормальное поведение для любого сервера, а не только интербейс. Да, оператор достаточно затратный, не спорю. Но по первичному ключу вряд ли будут сильные тормоза. К тому же запрос скорее всего не часто выполняемый. Как вариант вполне приемлем. ИМХО.


← →
DrPass ©   (2007-10-31 15:17) [5]


> Sergey13 ©   (31.10.07 14:24) [4]


> Это нормальное поведение для любого сервера, а не только
> интербейс

Ненормальное. "Правильный" оптимизатор распознает, что в данном случае можно выполнить объединение таблиц, и собственно сведет операцию к тому самому LEFT JOIN"у. А LEFT JOIN будет выполняться намного быстрее - проверь.


← →
Sergey13 ©   (2007-10-31 15:37) [6]

> [5] DrPass ©   (31.10.07 15:17)

> "Правильный" оптимизатор распознает, что в данном случае
> можно выполнить объединение таблиц, и собственно сведет
> операцию к тому самому LEFT JOIN"у.

Сомнительно мне это, но проверять лень, да и не на чем.


← →
Desdechado ©   (2007-10-31 15:46) [7]

> Sergey13 ©   (31.10.07 15:37) [6]
Оракл в случае не очень вычурных EXISTS преобразует.


← →
Sergey13 ©   (2007-10-31 15:53) [8]

> [7] Desdechado ©   (31.10.07 15:46)
Врать не буду, не наблюдал.
Я вообще EXISTS не особо "люблю" пользовать, поэтому простых попадалось мало.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
2-1203397094
Ultimate
2008-02-19 07:58
2008.03.23
Компонент WebBrowser


15-1202636826
@!!ex
2008-02-10 12:47
2008.03.23
Что за группа? Что за трэк?


2-1204080585
максим
2008-02-27 05:49
2008.03.23
каретка в мемо


2-1203495233
Dymok
2008-02-20 11:13
2008.03.23
Как обратиться к объекту на другой форме в нестандартном случае?


15-1202569817
korstin
2008-02-09 18:10
2008.03.23
Нынче заказчики пошли )))




   Наверх