Mysql
 sql >> база данни >  >> RDS >> Mysql

Какъв е най-добрият начин да използвате LEFT OUTER JOIN, за да проверите за несъществуване на свързани редове

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

Бяхте близо.

Първо направете свързването както обикновено, след което изберете всички редове, за които not null ред в Y всъщност е null , така че сте сигурни, че има "няма съвпадение", а не само null стойност в Y.

Обърнете внимание и на правописната грешка (след коригирана), която сте направили в заявката:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да обновите конфигурационния файл на MySQL, без да рестартирате?

  2. Увеличете полето на базата данни с 1

  3. Деактивирайте ONLY_FULL_GROUP_BY

  4. Време за изчакване на заявка за MySQLDB на python

  5. Проблем с MySQL Daemon Lock