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

Vztah k mnoha a obejít se bez toho

V SQL potřebuje tento typ dotazu to, co je známé jako EXCEPTION JOIN . Některé RDBMS to ve skutečnosti implementují jako samostatný typ (například DB2), zatímco jiné potřebují použít řešení. Ve vašem případě to činí (v SQL):

SELECT User.* 
FROM User
LEFT JOIN UserHouse
ON UserHouse.id_user = User.id
WHERE UserHouse.id_user IS NULL

Které vynese očekávané záznamy „není v domě“.

Podobné příklady jsou na řadě míst na tomto webu.

Nikdy jsem nepoužil Doctrine, takže vám nemohu pomoci. Ale můj nejlepší odhad by byl něco jako:

addWhere('uh IS NULL')

nebo

addWhere('uh.id_user IS NULL')



  1. Rekurzivní dotaz v Oracle

  2. MySQL datetime výchozí čas s intervalem

  3. Postgresql 9.x:Index pro optimalizaci dotazů „xpath_exists“ (XMLEXISTS)

  4. Oracle sekvenční ukládání do mezipaměti