Это может быть расширение ответа Рэнди, но мне это не совсем понятно.
Из соображений производительности я хотел минимизировать количество операторов SELECT
в своем запросе, поэтому я использовал оператор MIN
в основном выборе вместо JOIN
:
SELECT
table_1.id AS id,
table_1.name AS name,
MIN(table_2.id) AS table_2_id
FROM table_1
LEFT JOIN table_2 ON table_2.table_1_id = table_1.id
-- additional JOINs and WHERE excluded
GROUP BY table_1.id, table_1.name
LIMIT 5
Возможны компромиссы в зависимости от общего объема данных. ИДК. Мой запрос должен туннелировать данные из условия, удаленного на несколько шагов.