Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysql Onde não estiver usando duas colunas


Você pode usar isso (sintaxe mais compacta):
SELECT *
FROM CompletedTasks
WHERE (userID, taskID) NOT IN
      ( SELECT userID, taskID
        FROM PlannedTasks
      ) ;

ou o NOT EXISTS versão (que embora mais complexa, deve ser mais eficiente com índices adequados):
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
      ) ;

e, claro, o LEFT JOIN / IS NULL versão que @jmacinnes tem em sua resposta.