表之間的差異如何藉助 MySQL 聯接來實現?
我們可以透過對第 1 張表和第 2 張表進行並集排除聯接以及對第 2 張表和第 1 張表進行並集排除聯接來獲取表之間的差異。為了理解這一點,我們將採用以下兩個表的示例 −
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)
現在,以下查詢將對錶“value1”和“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)
廣告