sql >> Database teknologi >  >> RDS >> Mysql

mysql Hvor ikke i at bruge to kolonner

Du kan bruge denne (mere kompakt syntaks):

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

eller FINDER IKKE version (som selv om den er mere kompleks, men burde være mere effektiv med korrekte indekser):

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
      ) ;

og selvfølgelig LEFT JOIN / IS NULL version, som @jmacinnes har i sit svar.



  1. Hvordan ændres skemaet for flere PostgreSQL-tabeller i én operation?

  2. mysql kommandolinje returudførelsestid?

  3. mysql_data_seek pdo tilsvarende

  4. Fjernelse af standardsporingen – Del 3