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

mySQL 'trong đó tên NOT IN' không hoạt động?

Không sử dụng NOT IN với các truy vấn con. Nó có ngữ nghĩa sai nếu bất kỳ giá trị nào trong truy vấn con là NULL . Trong trường hợp đó, NOT IN không bao giờ đánh giá là TRUE, vì vậy không có hàng nào được trả về.

Thay vào đó, hãy sử dụng NOT EXISTS :

SELECT p.id, p.name
FROM players p
WHERE p.this = 1 AND 
      NOT EXISTS (SELECT 1
                  FROM players_online po
                  WHERE po.name = p.name AND po.this = 'that'
                 )
ORDER BY RAND()
LIMIT 3, 6;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đặt lại mật khẩu gốc của máy chủ MySQL

  2. MYSQL trích xuất các phần tử json trong đó json chứa

  3. MYSQL:chọn một phần của văn bản và cắt nó dựa trên vị trí của dấu chấm

  4. Cập nhật SQl từ bảng Tên ngẫu nhiên

  5. làm thế nào để serialize và deserialize hibernate đối tượng?