有兩個表t_appinfo 和g_appinfo ,存儲的信息基本一致,都包含package_name這個字段,現在需要查出package_name 存在於t_appinfo表,而且不存在於g_appinfo表的記錄.
方法一:使用NOT EXISTS
代碼如下 復制代碼
SELECT a.name,a.package_name FROM t_appinfo a
WHERE NOT EXISTS (SELECT 1 FROM g_appinfo g WHERE a.package_name=g.p_packagename) LIMIT 10000
方法二:使用NOT IN
代碼如下 復制代碼SELECT a.name , a.package_name FROM t_appinfo a WHERE a.package_name NOT IN (SELECT g.p_packagename FROM g_appinfo g ) LIMIT 50000
當兩個表的數據量都較多,例如都超過10萬條,此時需要給package_name加索引,提高查詢效率。