Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có lý do gì mà MySQL không hỗ trợ FULL OUTER JOINS không?

MySQL thiếu rất nhiều chức năng mà các cơ sở dữ liệu khác có *. Tôi nghĩ rằng họ có một lượng ý tưởng tồn đọng khá lớn và không đủ nhà phát triển để thực hiện tất cả.

Tính năng này đã được yêu cầu vào năm 2006 và vẫn không được thực hiện. Tôi đoán nó có mức độ ưu tiên thấp vì bạn có thể giải quyết nó bằng cách kết hợp LEFT và RIGHT OUTER JOIN với một UNION ALL. Không dễ chịu, nhưng nó thực hiện thủ thuật. Thay đổi điều này:

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

về điều này:

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

* Công bằng với MySQL, chúng cũng có một số tính năng mà nhiều cơ sở dữ liệu khác không có.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa lược đồ / cơ sở dữ liệu trong MySQL

  2. Cách tìm mã ASCII cho một ký tự nhất định trong MySQL

  3. MySQL Workbench không thể tải mysql.proc

  4. Tham gia Laravel với 3 Bảng

  5. SQL SERVER 2016 - So sánh các kế hoạch thực thi