sql >> Database >  >> RDS >> Mysql

mysql Waar niet in het gebruik van twee kolommen

U kunt deze (compactere syntaxis) gebruiken:

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

of de NOT EXISTS versie (die, hoewel complexer, efficiënter zou moeten zijn met de juiste indexen):

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

en natuurlijk de LEFT JOIN / IS NULL versie die @jmacinnes heeft in zijn antwoord.



  1. SQL Server Profiler gebruiken | Problemen met SQL Server-prestaties oplossen -5

  2. Wat is de snelste manier om veel gegevens in bulk in te voegen in SQL Server (C#-client)

  3. Huawei GaussDB

  4. Hoe ROWNUM werkt in een paginatiequery?