Я бы сделал объединение и групповой, например,
SELECT entries.*, AVG(value)
FROM entries INNER JOIN ratings ON entries.id = ratings.entry_id
GROUP BY entries.*
HAVING AVG(value) < '4.5000'
ORDER BY AVG(value)
Просто псевдо-код, я бы также порекомендовал вам ограничить столбцы записей именно тем, что вам нужно.
Возможно, вам удастся использовать псевдоним, например:
SELECT entries.*, AVG(value) as avg_value
FROM entries INNER JOIN ratings ON entries.id = ratings.entry_id
GROUP BY entries.*
HAVING avg_value < '4.5000'
ORDER BY avg_value