Mysql
 sql >> Database >  >> RDS >> Mysql

Come unire interno con non in o non esiste nella query mysql?

Questo richiede il comune LEFT JOIN ... IS NULL modello.

SELECT u.id, u.username, u.email
  FROM user u
  LEFT JOIN biodata b ON u.username = b.username
 WHERE b.id IS NULL

Il LEFT JOIN l'operazione conserva tutte le righe in user , indipendentemente dal fatto che abbiano o meno corrispondenze in biodata . (Al contrario, un normale JOIN sopprimerebbe le righe da user che non aveva corrispondenze.) Il b.id IS NULL l'operazione filtra le righe che fanno avere corrispondenze.