Всем привет. Имею такую структуру БД:
T1
id
T2
id
T3
id
t2_id
t1_id
Нужно написать такой запрос, что бы выбрать из таблицы T2 все записи, для которых есть связанная запись в T3. Выбрать нужно по id из T1.
Ну то есть, нужны все T2, для которых существуют записи из T3 по id из T1.
Написал такой JOIN
select "T2".* from "T2" inner join "T3" on "T3"."t2_id" = "T2"."id" WHERE "T3"."t1_id" " = ?
Я получаю, что хочу. но правильно ли я понимаю, что при таком запросе сначала все равно выбираются все записи через JOIN, а потом уже по ним делается WHERE ? Или если будет LIMIT, например 100, то можно не переживать за нагрузку? И нужно ли как-то делать JOIN из 3 таблиц?
P.S. если плохо объяснил, можно, например, так объяснить задачу. Есть юзеры, продукты и заказы. Нужно выбрать все товары, которые покупал юзер.