Trong MySQL, tôi có hai cơ sở dữ liệu khác nhau - hãy gọi chúng là A và B .
Có thể thực hiện phép nối giữa một bảng trong cơ sở dữ liệu A không với bảng trong cơ sở dữ liệu B không?
Trong MySQL, tôi có hai cơ sở dữ liệu khác nhau - hãy gọi chúng là A và B .
Có thể thực hiện phép nối giữa một bảng trong cơ sở dữ liệu A không với bảng trong cơ sở dữ liệu B không?
Câu trả lời:
Có, giả sử tài khoản có các quyền thích hợp, bạn có thể sử dụng:
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
Bạn chỉ cần thêm tiền tố tham chiếu bảng với tên của cơ sở dữ liệu mà nó nằm trong đó.
ERROR 1146 (42S02): Table 'currentdb.otherdb.tablename' doesn't exist
FROM A.table1 JOIN B.table2 ON B.table2 .column2 = A.table1.column1
SELECT *
FROM A.tableA JOIN B.tableB
hoặc là
SELECT *
FROM A.tableA JOIN B.tableB
ON A.tableA.id = B.tableB.a_id;
SELECT <...>
FROM A.table1 t1 JOIN B.table2 t2 ON t2.column2 = t1.column1;
Chỉ cần đảm bảo rằng trong dòng CHỌN, bạn chỉ định cột bảng nào bạn đang sử dụng, bằng tham chiếu đầy đủ hoặc bằng bí danh. Bất kỳ cách nào sau đây sẽ hoạt động:
SELECT *
SELECT t1.*,t2.column2
SELECT A.table1.column1, t2.*
etc.