Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jaki jest najlepszy sposób użycia LEFT OUTER JOIN do sprawdzenia, czy nie istnieją powiązane wiersze

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

Byłeś blisko.

Najpierw wykonaj łączenie w normalny sposób, a następnie zaznacz wszystkie wiersze, dla których not null wiersz w Y jest w rzeczywistości null , więc masz pewność, że istnieje „brak dopasowania”, a nie tylko null wartość w Y.

Zwróć także uwagę na literówkę (od momentu poprawienia) popełnioną w zapytaniu:

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. PDO::bindParam w pętli foreach, czy wszystkie wartości są takie same?

  2. Jak wyświetlić obraz mysql blob w kontroli obrazu asp.net?

  3. Jak wyświetlić sortowanie kolumny w MySQL

  4. Czasy eksportu danych MySQL zmieniają się

  5. Dodać indeks PEŁNOTEKSTOWY w Doctrine 2 za pomocą adnotacji?