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

Cách hiệu quả để mô phỏng tham gia bên ngoài đầy đủ trong MySQL?

Bạn có thể sử dụng THAM GIA TRÁI và THAM GIA PHẢI:

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

Ngoài ra còn có một số thông tin trên Wikipedia về chủ đề này: Tham gia toàn bộ bên ngoài .

Bài viết trên Wikipedia đề xuất sử dụng UNION trong MySQL. Điều này hơi chậm hơn UNION ALL, nhưng quan trọng hơn là nó không phải lúc nào cũng cho kết quả chính xác - nó sẽ loại bỏ các hàng trùng lặp khỏi đầu ra. Vì vậy, bạn nên sử dụng UNION ALL thay vì UNION ở đây.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để gỡ lỗi tại sao truy vấn MySQL đơn giản nhất lại trả về false?

  2. Đặt backquote ở chế độ ngủ đông cho tất cả các tên bảng / cột

  3. Truy vấn KHÔNG TRONG MySQL không hoạt động

  4. Tạo một thủ tục được lưu trữ:thiết lập bộ ký tự và đối chiếu

  5. Làm thế nào để xóa thác khi cha mẹ và ID con nằm trên cùng một bảng?