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

mer*_*lin 5 mysql sql stored-procedures

第一个查询

   (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%') 
Run Code Online (Sandbox Code Playgroud)

第二个查询:

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%' )
Run Code Online (Sandbox Code Playgroud)

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

Bar*_*art 11

http://www.bitbybit.dk/carsten/blog/?p=71

或者示例:

SELECT Name FROM employee1  WHERE name NOT IN (SELECT name FROM employee2);
Run Code Online (Sandbox Code Playgroud)