您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

mysql“不在哪里”使用两列

mysql“不在哪里”使用两列

您可以使用以下命令(语法更紧凑):

SELECT *
FROM CompletedTasks
WHERE (userID, taskID) NOT IN
      ( SELECT userID, taskID
        FROM PlannedTasks
      ) ;

NOT EXISTS版本(尽管更复杂,但使用适当的索引应该会更有效):

SELECT c.*
FROM CompletedTasks AS c
WHERE NOT EXISTS 
      ( SELECT 1
        FROM PlannedTasks AS p
        WHERE p.userID = c.userID
          AND p.taskID = c.taskID
      ) ;

当然还有LEFT JOIN / IS NULL@jmacinnes的答案中的版本。

MySQL 2022/1/1 18:14:21 有525人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶