sql >> Databáze >  >> RDS >> Mysql

Jak se vnitřní spojení s není nebo neexistuje v dotazu mysql?

To vyžaduje společné LEFT JOIN ... IS NULL vzor.

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

LEFT JOIN operace zachová všechny řádky v user , bez ohledu na to, zda mají nebo nemají shodu v biodata . (Naproti tomu obyčejný JOIN potlačí řádky od user který neměl shody.) b.id IS NULL operace odfiltruje řádky, které dělají mít shody.



  1. zamezení duplicitního vkládání řádků do php/mysql

  2. Vytváření spouštěčů MySQL pomocí DataMapper

  3. Proč tento dotaz nevytváří výsledek mysql_error()?

  4. Zápis do konkrétních schémat pomocí RPostgreSQL