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

Hvad er den bedste måde at bruge LEFT OUTER JOIN til at kontrollere, om der ikke findes relaterede rækker

SELECT count(id) FROM X 
LEFT OUTER JOIN Y ON (y.X_id = X.id AND y.foo = 'bar')
WHERE y.X_id is null

Du var tæt på.

Foretag først joinforbindelsen som normalt, og vælg derefter alle rækker, for hvilke en not null række i Y er faktisk null , så du er sikker på, at der er et "no match" og ikke kun et null værdi i Y.

Bemærk også tastefejlen (siden rettet), du lavede i forespørgslen:

LEFT OUTER JOIN Y AS
-- should be
LEFT OUTER JOIN Y ON
-- This however is allowed
LEFT OUTER JOIN table2 as Y ON ....


  1. Hvor mange tegn kan du gemme med 1 byte?

  2. Hvordan kan jeg dekryptere en adgangskodehash i PHP?

  3. CakePHP - få den sidste forespørgsel kørt

  4. Hvordan ignorerer man en parameter i en forberedt mysqli-forespørgsel i PHP?