如何从MYSQL中的另一个查询结果中减去查询结果

前端之家收集整理的这篇文章主要介绍了如何从MYSQL中的另一个查询结果中减去查询结果前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

第一个查询

   (SELECT a.cat_id,a.cat_name,a.cat_description,b.subcat_name,b.subcat_description 
     FROM trade_categories a 
LEFT JOIN trade_subcategories b ON a.cat_id = b.cat_id 
    WHERE a.cat_name LIKE '%catty%' 
       OR a.cat_description LIKE '%catty%') 
UNION 
  (SELECT c.cat_id,d.cat_name,d.cat_description,c.subcat_name,c.subcat_description 
     FROM trade_subcategories c 
LEFT JOIN trade_categories d ON c.cat_id = d.cat_id 
    WHERE c.subcat_name LIKE '%catty%' 
       OR c.subcat_description LIKE '%catty%') 

第二个查询

SELECT x.cat_id,x.cat_name,x.cat_description,y.subcat_name,y.subcat_description 
 FROM  trade_categories x 
  JOIN trade_subcategories y ON x.cat_id = y.cat_id 
 WHERE (   x.cat_name LIKE '%catty%' 
        OR x.cat_description LIKE '%catty%' ) 
   AND (   y.subcat_name NOT LIKE '%catty%' 
        OR y.subcat_description NOT LIKE '%catty%' )

我想从第一个查询结果中减去第二个查询结果.

最佳答案
http://www.bitbybit.dk/carsten/blog/?p=71

要么
例:

SELECT Name FROM employee1  WHERE name NOT IN (SELECT name FROM employee2);

猜你在找的MySQL相关文章