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

MYSQL - Wybierz tylko jeśli wiersz w LEFT JOIN nie jest obecny

Lewe sprzężenie wygeneruje null wiersze dla niezgodności.
To te null wiersze, według których musisz filtrować.

SELECT * FROM mail  
LEFT JOIN block ON (block.blocker = 'Bob') 
WHERE block.blocker IS NULL

To trochę udręczone, aby łączyć się na stałej wartości, jednak bardziej powszechnym złączeniem (biorąc pod uwagę twoje stoły) byłoby:

SELECT * FROM mail  
LEFT JOIN block ON (block.blocker = mail.receiver
                and block.blocked = mail.sender)<<-- these should match
WHERE block.blocker IS NULL                     <<-- select only mismatches
AND mail.receiver like 'bob';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Model listy sąsiedztwa a model zestawu zagnieżdżonego dla danych hierarchicznych MySQL?

  2. SELECT COUNT(*) działa wolno, nawet z klauzulą ​​where

  3. Brak dostępu; potrzebujesz (przynajmniej jednego) uprawnienia SUPER do tej operacji

  4. Dołącz do podzapytania z doktryną 2 DBAL

  5. XAMPP — Błąd:nieoczekiwane zamknięcie MySQL