Retrieve parent row when key appears in either one of another two tables
A good way to do that is likely to use the UNION of two queries, one for home_players, and one for away_players.  Something like:

SELECT DISTINCT m.id, m.title
FROM match m
INNER JOIN home_players h ON m.id = h.match_id
WHERE h.player = 'Dave'
UNION 
SELECT DISTINCT m.id, m.title
FROM match m
INNER JOIN away_players a ON m.id = a.match_id
WHERE a.player = 'Dave'