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

Ефективен начин за симулиране на пълно външно присъединяване в MySQL?

Можете да използвате LEFT JOIN и DIGHT 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

В Wikipedia също има информация по тази тема:Пълно външно присъединяване .

Статията в Wikipedia предлага използването на UNION в MySQL. Това е малко по-бавно от UNION ALL, но по-важното е, че не винаги дава правилния резултат - ще премахне дублираните редове от изхода. Затова предпочитайте да използвате UNION ALL вместо UNION тук.




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

  2. Съвети за мигриране от собствени към бази данни с отворен код

  3. Мигриране на BLOB данни от MS SQL Server към MySQL

  4. Как да преброите разликата в датите, с изключение на уикенда и празниците в MySQL

  5. MySQL късо съединение на функцията IF()?