MySQL 查询同一字段中同时知足多个条件

 

分析:学习

1,先查询出01号同窗学习的课程spa

SELECT C FROM sc WHERE S='01'

 2,查询学习该相关课程的同窗编号code

SELECT S FROM sc WHERE C in (SELECT C FROM sc WHERE S='01')

 能够看到,咱们分别查询了3次,因此出现多个结果,由于是or关系,因此每一个选择了一、二、3课程的同窗都所有取出,blog

3,如今须要将出现次数为3的编号取出class

SELECT S FROM sc WHERE C in (SELECT C FROM sc WHERE S='01') GROUP BY S HAVING COUNT(S) =3

 看到编号为一、二、三、4的同窗选了与01号同窗一致的课程im

4,与student表进行连表查询,取出相关信息查询

SELECT a.* FROM student a LEFT JOIN sc b ON a.S = b.S WHERE b.S in ( SELECT S FROM sc WHERE C in (SELECT C FROM sc WHERE S='01') GROUP BY S HAVING COUNT(S) =3) GROUP BY a.S 

相关文章
相关标签/搜索