学生表:students(sid,name,age)
课程表:kecheng(kid,kname,tid)
成绩表:chengji(sid,kid,score)
教师表:teacher(tid,name)
要求:查找出所有课程成绩分数都小于60的学生的sid,name!

解决方案 »

  1.   

    课程表表和教师表表好像用不着啊select sid,name from students
    where sid=(select sid from chengji where score < 60)
      

  2.   

    select a.sid,a.name
    from students a,chengji b
    where a.sid=b.sid 
    and not exist (select 1 from chengji where score>60 and sid=a.sid)
    group by a.sid
      

  3.   

    SELECT SID,NAME FROM STUDENTS WHERE SID IN (SELECT SID,MAX(SCORE) FROM CHENGJI GROUP BY SID HAVING MAX(SCORE)<60)
      

  4.   


    这个可以哟。先按sid把成绩group一把,把最大分都小于60分的滤掉,也就OK了正解
      

  5.   

    select sid, name
    from students
    where sid not in 
    (select sid from chengji where score>=60)