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

MySQL vybere řádky, kde je levé spojení null

Můžete použít následující dotaz:

SELECT  table1.id 
FROM    table1 
        LEFT JOIN table2 
            ON table1.id IN (table2.user_one, table2.user_two)
WHERE   table2.user_one IS NULL;

Ačkoli v závislosti na vašich indexech na table2 možná zjistíte, že dvě spojení fungují lépe:

SELECT  table1.id 
FROM    table1 
        LEFT JOIN table2 AS t1
            ON table1.id = t1.user_one
        LEFT JOIN table2 AS t2
            ON table1.id = t2.user_two
WHERE   t1.user_one IS NULL
AND     t2.user_two IS NULL;


  1. Jak odstranit řádky z tabulky spojení (ManyToMany) v Doctrine?

  2. Přehled různých metod skenování v PostgreSQL

  3. Jak mohu vyřešit Buď je parametr @objname nejednoznačný, nebo je nárokovaný @objtype (SLOUPEK) nesprávný.?

  4. Hledání duplicitních hodnot v MySQL