1. There is nothing wrong"with the query although you might want to make the query more focused by selecting specific variables as opposed to all (*) variables
2. To introduce variables (such as course) from the historic_races table, join both tables together and include the criteria required in the where statement, eg.
SELECT * from historic_runners join historic_races using (race_id) WHERE sire_name = "Acclamation" and age = 3 and finish_position = 1 and course = "Curragh"
Last but not least, you can also use the variables in historic_runners_insights instead of hiistoric_runners for extra information.