选择出所有未交作业的学生,以work_id条件,发现没有学号的说明没交作业,这个select语句可以实现么?

解决方案 »

  1.   

    select a.* from student a left join handin_works b
    on a.stud_id=b.stud_id 
    where b.stud_id is null and b.work_id='Asp.net应用 -1'
      

  2.   


    USE stu
    SELECT *
    FROM dbo.student
    WHERE stud_id NOT IN(SELECT stud_id
    FROM dbo.handin_works)
    ORDER BY stud_id ASC
      

  3.   


    SELECT *
    FROM dbo.student
    WHERE stud_id NOT IN(SELECT stud_id
    FROM dbo.handin_works
    WHERE work_id LIKE '软件工程%')
    OR stud_id NOT IN(SELECT stud_id
    FROM dbo.handin_works
    WHERE work_id LIKE 'Asp.net应用%')
    ORDER BY stud_id ASC