В результате должна получиться 1 строка, а так в результате
select * from table where table.id in (100,101,102,103)
будет 4 строки
Меня больше интнресует на какой из запросов потратится меньше времени и меньше виртуальной памяти.
так как я предполагаю, что при выполнении первого запроса в памяти сначала должна сформироваться таблица размером 160*160*160*160 строк, а потом из нее выберется 1 строка
В твоем случае будет выбрано тоже 4 строки
Ты запрос проверял?
во втором же, описанном мной запросе, сначала должны выполниться 4 запроса на выборку, а потом объедениться.
Меня интересует вопрос: прав ли я в своих размышлениях
Кстати, база на MS Access, если это важно...
Не важно какая база.
Важно понять как у тебя соединяются таблицы.
Какое умножение происходит.
В данном случае декартово умножение, что приведет к выводу 4 строк
И первый, и второй случай - неверно написаны запросы.
У тебя table с table никак не связаны.
Но если оторваться от запроса, на мой взгляд первый запрос более оптимален, т.к. во втором будет создаваться 4 спула таблиц, а потом из них будет идти выборка