Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

mysql Trường hợp không sử dụng hai cột

Bạn có thể sử dụng cái này (cú pháp nhỏ gọn hơn):

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

hoặc NOT EXISTS phiên bản (mặc dù phức tạp hơn, sẽ hiệu quả hơn với các chỉ mục phù hợp):

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

và tất nhiên là LEFT JOIN / IS NULL phiên bản mà @jmacinnes có trong câu trả lời của anh ấy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để bạn chèn một hằng số PHP vào một truy vấn SQL?

  2. Làm thế nào các bảng innodb bị khóa khi kích hoạt ON INSERT được xử lý?

  3. Không thể cài đặt flask-sqlalchemy mysql-python

  4. Cài đặt MySQL trên máy Mac

  5. DATETIME VS INT cho thời gian lưu trữ?