MySQL 使用连接排除 ID

MySQL exclude ids using joins

我有 2 个表:

uid uname
1   alex
2   anna
3   sergey
4   arnold
5   john

mid message  uid
1   hello    3
2   DELETED  3
3   xcvcxv   4
4   bye      1
5   DELETED  2
6   4452     5

我想获取所有消息,但如果消息包含 "DELETED",请从所有消息中排除此消息的用户 ID(此消息后不要 return 来自用户 ID 3 和 2 的消息),使用 JOIN 而没有 NOT IN。 感谢您的帮助。

这应该 select 没有已删除消息的用户的所有消息:

   SELECT m.*
     FROM message m
LEFT JOIN message m2
       ON m2.uid = m.uid 
      AND m2.message = 'DELETED'
    WHERE m2.mid IS NULL;