Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql Gdzie nie używać dwóch kolumn

Możesz użyć tego (bardziej zwarta składnia):

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

lub NOT EXISTS wersja (która choć bardziej złożona, powinna być wydajniejsza z odpowiednimi indeksami):

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

i oczywiście LEFT JOIN / IS NULL wersja, którą @jmacinnes ma w swojej odpowiedzi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy możesz uzyskać dostęp do wartości automatycznego przyrostu w MySQL w ramach jednej instrukcji?

  2. Tworzysz niestandardowe zapytanie za pomocą Spring DATA JPA?

  3. PHP nie może rozwiązać nazwy kontenera mysql w pewnych okolicznościach

  4. Obliczanie rangi centylowej w MySQL

  5. MySQL wybierz wiersze dokładnie 7 dni temu