SELECT r.*
FROM Records r
INNER JOIN Record_Tag rt ON rt.record_id = r.id
INNER JOIN Tag t ON t.id = rt.tag_id
WHERE t.name IN ('tag1','tag2','tag3,...,'tagN')
Выберет все записи (не уникальные) по тегам, для того чтобы выьрать уникальные нужно добавить DISTINCT, или группировку, смотря как вы собираетесь использовать эти данные.