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

Làm thế nào để thực hiện kết hợp bên ngoài đầy đủ để kết hợp hai bảng trong mysql?

Để thực hiện FULL OUTER JOIN bạn có thể làm LEFT OUTER JOINUNION với RIGHT OUTER JOIN ( với điều kiện là MySql vẫn không hỗ trợ FULL OUTER JOIN ):

select * from A as a
    left outer join B as b on a.col = b.col
union
select * from A as a
    right outer join B as b on a.col = b.col

Lưu ý rằng bạn có thể sử dụng truy vấn phụ cho AB - sẽ hoạt động với các truy vấn của bạn. Trong trường hợp của bạn:

select * from (SELECT * FROM t1) as a
    left outer join (SELECT * FROM t2) as b on a._tid = b._tid
union
select * from (SELECT * FROM t1) as a
    right outer join (SELECT * FROM t2) as b on a._tid = b._tid

Với kết quả bằng (miễn là tôi không mắc lỗi khi sao chép dữ liệu của bạn):

+------+-------+------------+----------+------+-------+------------+----------+
| _id  | _tid  | _dt        | _advance | _id  | _tid  | _dt        | _advartn |
+------+-------+------------+----------+------+-------+------------+----------+
|   17 | hjg   | 2012-04-18 |     2151 | NULL | NULL  | NULL       |     NULL |
|   22 | RKT01 | 2012-04-10 |     2098 | NULL | NULL  | NULL       |     NULL |
|   14 | RKT04 | 2012-04-18 |     1511 |    8 | RKT04 | 2012-04-20 |      150 |
|   16 | RKT09 | 2012-04-09 |      250 | NULL | NULL  | NULL       |     NULL |
|   15 | RKT10 | 2012-04-17 |     1313 | NULL | NULL  | NULL       |     NULL |
|    8 | RKT21 | 2012-04-03 |     1321 | NULL | NULL  | NULL       |     NULL |
|   19 | RKT31 | 2012-04-26 |     2512 | NULL | NULL  | NULL       |     NULL |
|   20 | RKT33 | 2012-04-10 |     2250 | NULL | NULL  | NULL       |     NULL |
|   25 | T01   | 2012-04-11 |     2500 | NULL | NULL  | NULL       |     NULL |
| NULL | NULL  | NULL       |     NULL |    9 | RKT02 | 2012-04-10 |     2500 |
+------+-------+------------+----------+------+-------+------------+----------+


  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 thế nào để xóa các mô hình khỏi django?

  2. MySQL REPLACE () - Thay thế tất cả các phiên bản của một chuỗi con bằng một chuỗi khác

  3. Không thể kết nối tập lệnh ứng dụng google với mysql thông qua máy chủ cục bộ

  4. mySQL groupconcat trả về BLOB xxxB / Kib

  5. Làm cách nào để chèn thông báo e-mail đến vào cơ sở dữ liệu mySQL?