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

Bagaimana saya bisa melakukan FULL OUTER JOIN di MySQL?

Anda tidak memiliki gabungan penuh di MySQL, tetapi Anda pasti dapat menirunya .

Untuk kode contoh ditranskripsi dari pertanyaan Stack Overflow ini Anda memiliki:

Dengan dua tabel t1, t2:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id

Kueri di atas berfungsi untuk kasus khusus di mana penggabungan luar penuh operasi tidak akan menghasilkan baris duplikat. Kueri di atas bergantung pada UNION atur operator untuk menghapus baris duplikat yang diperkenalkan oleh pola kueri. Kita dapat menghindari pengenalan baris duplikat dengan menggunakan anti-gabung pola untuk kueri kedua, dan kemudian gunakan operator himpunan UNION ALL untuk menggabungkan dua himpunan. Dalam kasus yang lebih umum, di mana gabungan luar penuh akan mengembalikan baris duplikat, kita dapat melakukan ini:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
WHERE t1.id IS NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 Cara Mengonversi Angka ke Oktal di MySQL

  2. Cara mengoptimalkan tabel MySQL/MariaDB

  3. Gunakan Database Relasional MySQL di Fedora 13

  4. Cara menginstal MySQL di Windows

  5. MySQL setara dengan fungsi DECODE di Oracle