Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada alasan MySQL tidak mendukung FULL OUTER JOINS?

MySQL tidak memiliki banyak fungsi yang dimiliki database lain*. Saya pikir mereka memiliki tumpukan ide yang cukup besar dan tidak cukup pengembang untuk mengimplementasikan semuanya.

Fitur ini diminta pada tahun 2006 dan masih belum dilaksanakan. Saya kira itu memiliki prioritas rendah karena Anda dapat mengatasinya dengan menggabungkan LEFT dan RIGHT OUTER JOIN dengan UNION ALL. Tidak menyenangkan, tetapi berhasil. Ubah ini:

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

untuk ini:

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

* Agar adil untuk MySQL, mereka juga memiliki beberapa fitur yang tidak dimiliki banyak database lain.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah database yang berbeda menggunakan kutipan nama yang berbeda?

  2. SQLSTATE[HY000] [1040] Terlalu banyak koneksi

  3. Bagaimana cara mengurutkan waktu ( Dalam AM / PM ) dalam SQL?

  4. Cara menyimpan id pendaftaran GCM secara unik ke MySQL

  5. Cara Mendapatkan Pengguna Baru Per Hari di MySQL