我要选择参加了所有科目的同学信息,这样显示是不对的,因为后面子句中不能直接用and, group by 之后如果要对其中的量进行限定需要用having而不是group by.
SELECT 
     s.*
 FROM
     student s
         JOIN
     sc ON sc.sid = sc.sid
         AND s.sid IN (SELECT 
             sid
         FROM
             sc
         GROUP BY sid
        AND COUNT(cid) = (SELECT 
                 COUNT(cid)
             FROM
                 course))
 GROUP BY sid;
下面这个
SELECT 
     s.*
 FROM
     student s
         JOIN
     sc ON sc.sid = sc.sid
         AND s.sid IN (SELECT 
             sid
         FROM
             sc
         GROUP BY sid
         HAVING COUNT(cid) = (SELECT 
                 COUNT(cid)
             FROM
                 course))
 GROUP BY sid;










