Como associo a linha mais recente de uma tabela a outra tabela?

Eu tenho dados parecidos com este:

entities
id         name
1          Apple
2          Orange
3          Banana

Periodicamente, um processo será executado e atribuirá uma pontuação a cada entidade. O processo gera os dados e os adiciona a uma tabela de pontuação da seguinte forma:

scores 
id  entity_id    score   date_added
1    1            10       1/2/09
2    2            10       1/2/09
3    1            15       1/3/09
4    2            10       1/03/09
5    1            15       1/4/09
6    2            15       1/4/09
7    3            22       1/4/09

Quero poder selecionar todas as entidades junto com a pontuação mais recente registrada para cada uma delas, resultando em alguns dados como este:

entities
id name     score  date_added
1  Apple     15     1/4/09
2  Orange    15     1/4/09
3  Banana    15     1/4/09

Eu posso obter os dados para uma única entidade usando esta consulta:

SELECT entities.*, 
       scores.score, 
       scores.date_added 
FROM entities

INNER  JOIN scores
ON entities.id = scores.entity_id

WHERE entities.id = ?

ORDER BY scores.date_added DESC
LIMIT 1

Mas não sei como selecionar o mesmo para todas as entidades. Talvez esteja me encarando?

Muito obrigado por dedicar um tempo.

Obrigado pelas ótimas respostas. Vou aguardar alguns dias para ver se uma solução preferida surge e selecionarei a resposta.

ATUALIZAÇÃO: Tentei várias das soluções propostas, o principal problema que estou enfrentando agora é que, se uma entidade ainda não possui uma pontuação gerada, ela não aparece na lista.

Como seria o SQL para garantir que todas as entidades sejam retornadas, mesmo que ainda não tenham nenhuma pontuação publicada?

UPDATE: Resposta selecionada. Obrigado a todos!

questionAnswers(7)

yourAnswerToTheQuestion