Кейс: использование подзапросов в джойнах
обычно такое встречается, когда хотят соединить таблицу только на определенную выборку данных из другой таблицы
Как переписать более оптимально: напиши обычный join, при этом добавь нужное условие соединения в on
Избавляйтесь от подзапросов в джойнах когда это возможно. Эффективней будет дописать условие соединения, чем вызывать подзапрос
--так не делай
SELECT *
FROM customer_reg r
LEFT JOIN (SELECT * FROM customer_auth WHERE rn_first = 1) af
ON r.customer_id = af.customer_id
LEFT JOIN (SELECT * FROM customer_auth WHERE rn_last = 1) al
ON r.customer_id = al.customer_id
;
--делай так
SELECT *
FROM customer_reg r
LEFT JOIN customer_auth af
ON r.customer_id = af.customer_id
AND af.rn_first = 1
LEFT JOIN customer_auth al
ON r.customer_id = al.customer_id
AND al.rn_last = 1