Полагаю, вам не нужны null
s в результатах, поэтому нет необходимости в LEFT JOIN
, хотя, установив условие:
r.user_id = f.follower_id
, которое существует в * В предложении 1006 * также в предложении WHERE
вы получите INNER JOIN
, потому что все несопоставленные строки отфильтрованы. Попробуйте это:
SELECT r.id, r.title
FROM reviews r INNER JOIN followers f
ON r.user_id = f.follower_id
WHERE f.user_id = 1
ORDER BY r.id
или отфильтровав таблицу followers
, а затем присоединившись:
SELECT r.id, r.title
FROM reviews r
INNER JOIN (SELECT follower_id FROM followers WHERE user_id = 1) f
ON r.user_id = f.follower_id
ORDER BY r.id
или вот это:
SELECT id, title
FROM reviews
WHERE user_id IN (SELECT follower_id FROM followers WHERE user_id = 1)
ORDER BY id
Индексы по столбцам user_id
из reviews
и user_id
, follower_id
из followers
действительно ускорили бы запрос.