Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie kann man in einer MySQL-Abfrage innerlich mit nicht in oder nicht vorhanden verbunden werden?

Dies erfordert den allgemeinen LEFT JOIN ... IS NULL Muster.

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

Der LEFT JOIN Der Vorgang behält alle Zeilen in user bei , ob sie Übereinstimmungen in biodata haben oder nicht . (Im Gegensatz dazu ist ein gewöhnlicher JOIN würde Zeilen von user unterdrücken die keine Übereinstimmungen hatte.) Die b.id IS NULL -Operation filtert die Zeilen heraus, die tun Streichhölzer haben.