sql >> Database >  >> RDS >> Mysql

mySQL 'waar naam NIET IN' werkt niet?

Gebruik NOT IN niet met subquery's. Het heeft de verkeerde semantiek als een waarde in de subquery NULL is . In dat geval is de NOT IN evalueert nooit naar TRUE, dus er worden helemaal geen rijen geretourneerd.

Gebruik in plaats daarvan 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. VBA's functie voor het wijzigen van hoofdletters

  2. ORA-22813:operandwaarde overschrijdt systeemlimieten

  3. Overzicht creëren over verschillende databases

  4. Databaseback-ups - MariaDB Mariabackup en Percona Xtrabackup vergelijken