MySQL語(yǔ)句常常用來(lái)對(duì)比兩個(gè)表,這樣可以很方便地比較兩個(gè)表中各字段的數(shù)據(jù)是否一致。下面是兩種常見的對(duì)比方法。
方法一:使用子查詢
SELECT COUNT(*)
FROM table1
WHERE NOT EXISTS (
SELECT *
FROM table2
WHERE table1.column = table2.column
);
這個(gè)語(yǔ)句會(huì)計(jì)算table1中有多少行數(shù)據(jù)在table2中不存在。
方法二:使用LEFT JOIN
SELECT COUNT(*)
FROM table1
LEFT JOIN table2 ON table1.column = table2.column
WHERE table2.column IS NULL;
這個(gè)語(yǔ)句會(huì)計(jì)算table1中有多少行數(shù)據(jù)在table2中不存在。
總結(jié)
這兩種方法本質(zhì)上是一樣的,都是要找出table1中有多少行數(shù)據(jù)在table2中不存在。使用子查詢的方法看起來(lái)簡(jiǎn)單,但在大表中可能會(huì)比較慢。使用LEFT JOIN的方法則比較常用,因?yàn)榭梢院芊奖愕財(cái)U(kuò)展到對(duì)比多個(gè)表和多個(gè)字段。