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

Efektivní způsob, jak simulovat úplné vnější spojení v MySQL?

Můžete použít LEFT JOIN a RIGHT JOIN:

SELECT * FROM tableA LEFT JOIN tableB ON tableA.b_id = tableB.id
UNION ALL
SELECT * FROM tableA RIGHT JOIN tableB ON tableA.b_id = tableB.id
WHERE tableA.b_id IS NULL

Na Wikipedii je také několik informací o tomto tématu:Úplné vnější spojení .

Článek na Wikipedii navrhuje použití UNION v MySQL. To je o něco pomalejší než UNION ALL, ale co je důležitější, ne vždy poskytne správný výsledek - odstraní duplicitní řádky z výstupu. Zde tedy raději použijte UNION ALL místo UNION.




  1. Html / Php formulář se nepřidává do SQL databáze

  2. MySQL:Získejte název sloupce nebo alias z dotazu

  3. mysqlimport:Chyba:1045, Přístup odepřen

  4. Jak získat nejnovější záznam v každé skupině pomocí GROUP BY?