Computer >> Máy Tính >  >> Lập trình >> MySQL

SỰ KHÁC BIỆT giữa các bảng có thể được thực hiện như thế nào với sự trợ giúp của các phép nối MySQL?


Chúng ta có thể nhận được sự khác biệt giữa các bảng bằng cách kết hợp loại trừ hợp nhất từ ​​bảng thứ nhất đến bảng thứ hai và từ bảng thứ hai đến bảng thứ nhất. Để hiểu nó, chúng tôi lấy ví dụ về hai bảng sau -

mysql> Select * from value1;
+-----+-----+
| i   | j   |
+-----+-----+
|   1 |   1 |
|   2 |   2 |
+-----+-----+
2 rows in set (0.00 sec)

mysql> Select * from value2;
+------+------+
| i    | j    |
+------+------+
|    1 |   1  |
|    3 |   3  |
+------+------+
2 rows in set (0.00 sec)

Bây giờ, truy vấn sau sẽ thực hiện SỰ KHÁC BIỆT giữa bảng ‘value1’ và ‘value2’ -

mysql> Select * from value1 left join value2 using(i,j) where value2.i is NULL UNION Select * from value2 left join value1 using(i,j) Where value1.i is NULL;
+------+-----+
| i    | j   |
+------+-----+
|    2 |   2 |
|    3 |   3 |
+-----+------+
2 rows in set (0.07 sec)