powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как лучше сделать запрос
4 сообщений из 4, страница 1 из 1
Как лучше сделать запрос
    #32124380
BRO-m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть две таблицы: SHTAT (ID,fio,...) и NADBAV (ID,ID_SHTAT,SUMMA), NADBAV.ID_SHTAT - ссылка на SHTAT.ID. Т.е. в SHTAT хранятся штатные единицы, а в NADBAV - надбrf и id единицы в SHTAT.

Как лучше написать запрос, который выводит все единицы у которых есть надбавки:

Я пробовал два варианта:
1.
select s.fio
from shtat s
where s.id in (select n.id_shtat from nadbav n )

2.
select s.fio
from shtat s
where exists (select n.id from nadbav n where n.id_shtat = s.id)

Скорость выполнения первого варианта почему-то гораздо лучшее, хотя по логике вещей должно быть наоборот. А может кто подскажет другой вариант?
...
Рейтинг: 0 / 0
Как лучше сделать запрос
    #32124410
Фотография MaxU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все правильно. если бы таблица "ШТАТ" была ОЧЕНь маленкой, тогда возможно второй вариант был бы выгоднее...
...
Рейтинг: 0 / 0
Как лучше сделать запрос
    #32124412
Delerium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
A tak proboval?


select 1
from shtat, nadbav
where id = id_shtat
/
...
Рейтинг: 0 / 0
Как лучше сделать запрос
    #32124414
Delerium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oshibsja, nje "select 1" a "select fio"

Tak sluchajetsja, jeslji ruskij nje radnoj :)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как лучше сделать запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]