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

Cara efisien untuk mensimulasikan gabungan luar penuh di MySQL?

Anda dapat menggunakan LEFT JOIN dan RIGHT 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

Ada juga beberapa informasi di Wikipedia tentang topik ini:Gabung luar penuh .

Artikel Wikipedia menyarankan menggunakan UNION di MySQL. Ini sedikit lebih lambat dari UNION ALL, tetapi yang lebih penting itu tidak akan selalu memberikan hasil yang benar - ini akan menghapus baris duplikat dari output. Jadi lebih suka menggunakan UNION ALL daripada UNION di sini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LPAD dengan nol di depan

  2. SELECT * FROM tbl WHERE clm LIKE CONCAT('%',<other sql query LIMIT 1>,'%') - BAGAIMANA?

  3. MySQL Sum() beberapa kolom

  4. loop hasil mysql di php di luar permintaan mysql

  5. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan session_register()