各位用户为了找寻关于MySQL 查询结果取交集的实现方法的资料费劲了很多周折。这里教程网为您整理了关于MySQL 查询结果取交集的实现方法的相关资料,仅供查阅,以下为您介绍关于MySQL 查询结果取交集的实现方法的详细内容

1  MySQL中如何实现以下SQL查询  (SELECT S.Name  FROM STUDENT S, TRANSCRIPT T  WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305')  INTERSECT  (SELECT S.Name  FROM STUDENT S, TRANSCRIPT T  WHERE S.StudId = T.StudId AND T.CrsCode = 'CS315')  请各位不吝赐教,小弟先谢过~  解:  取交集  select a.* from  (  SELECT S.Name  FROM STUDENT S, TRANSCRIPT T  WHERE S.StudId = T.StudId AND T.CrsCode = 'CS305'  ) as a  cross join  (  SELECT S.Name  FROM STUDENT S, TRANSCRIPT T  WHERE S.StudId = T.StudId AND T.CrsCode = 'CS315'  ) as b on a.Name = b.Name;  2.  SELECT * FROM (  SELECT DISTINCT col1 FROM t1 WHERE...  UNION ALL  SELECT DISTINCT col1 FROM t1 WHERE...  ) AS tbl  GROUP BY tbl.col1 HAVING COUNT(*) = 2  3.  交集:  SELECT * FROM table1 AS a JOIN table2 AS b ON a.name =b.name  举例:  表a:  FieldA  001  002  003  表b:  FieldA  001  002  003  004  请教如何才能得出以下结果集,即表A, B行交集  FieldA  001  002  003  答案:select a.FieldA from a inner join b on a.FieldA=b.FieldA  差集:  NOT IN 表示差集  SELECT * FROM table1 WHERE name NOT IN (SELECT name FROM table2)