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

Има ли причина MySQL да не поддържа FULL OUTER JOINS?

MySQL липсва много функционалност, която имат други бази данни*. Мисля, че имат доста голямо изоставане от идеи и няма достатъчно разработчици, за да ги реализират всичките.

Тази функция бе поискана през 2006 г. и все още не се прилага. Предполагам, че има нисък приоритет, защото можете да го заобиколите, като комбинирате LEFT и RIGHT OUTER JOIN с UNION ALL. Не е приятно, но върши работа. Променете това:

SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.table2_id = table2.id

към това:

SELECT *
FROM table1
LEFT JOIN table2
ON table1.table2_id = table2.id
UNION ALL
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.table2_id = table2.id
WHERE table1.table2_id IS NULL

* За да бъдем честни към MySQL, те също имат някои функции, които много други бази данни нямат.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Грешка при инициализиране на MySQL база данни при Spring Boot със съхранени процедури

  2. Използване на MySQL релационни бази данни на Gentoo

  3. четенето от MySQL е по-бързо или четенето от файл е по-бързо?

  4. Преобразуване на числото на епохата в четлива от човека дата в mysql

  5. MySQL заместващ знак за =- има ли такъв