Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách triển khai INTERSECTION (giao) giữa các bảng bằng JOIN trong MySQL

Thực tế, phép INTERSECTION (giao) giữa hai bảng chỉ là một INNER JOIN trên tất cả các cột. Chúng ta sẽ minh họa qua ví dụ đơn giản với hai bảng có dữ liệu như sau:

Dữ liệu mẫu

mysql> SELECT * FROM value1;
+------+------+
| i    | j    |
+------+------+
| 1    | 1    |
| 2    | 2    |
+------+------+

mysql> SELECT * FROM value2;
+------+------+
| i    | j    |
+------+------+
| 1    | 1    |
| 3    | 3    |
+------+------+

Truy vấn INTERSECTION

Truy vấn sau sẽ thực hiện phép giao giữa hai bảng:

mysql> SELECT * FROM value1 JOIN value2 USING(i,j);
+------+------+
| i    | j    |
+------+------+
| 1    | 1    |
+------+------+

Kết quả chỉ trả về hàng có giá trị (1,1) xuất hiện trong cả hai bảng. Cú pháp USING(i,j) so khớp cả hai cột cùng lúc, tương đương với điều kiện value1.i = value2.i AND value1.j = value2.j.