Чтобы выбрать только пользователи/сообщений, которые связаны друг с другом, вы можете использовать
SELECT u.UserId, u.FirstName, u.LastName, m.MessageId, m.Heading, m.Body
FROM User_Messages h
INNER JOIN User u ON h.UserId = u.UserId
INNER JOIN Messages m ON h.MessageId = m.MessageId
Для выбора всех пользователей (и добавление их сообщения, если таковые имеются) использовать:
SELECT u.UserId, u.FirstName, u.LastName, m.MessageId, m.Heading, m.Body
FROM User u
LEFT JOIN User_Messages u ON h.UserId = u.UserId
LEFT JOIN Messages m ON h.MessageId = m.MessageId
Наконец, для выбора сообщений, а также добавить информацию о пользователях для каждого из них, использовать:
SELECT u.UserId, u.FirstName, u.LastName, m.MessageId, m.Heading, m.Body
FROM Messages m
LEFT JOIN User_Messages h ON h.MessageId = m.MessageId
LEFT JOIN User u ON h.UserId = u.UserId