奔跑啊天行者
2016-06-10 14:09
采纳率: 100%
浏览 6.0k

SQL查询没有选择某门课的所有学生的姓名学号

从S(学号,姓名,年龄,生日)表和SC(学号,课程号,成绩)表中查询出没有选择课程号为1001的课程的所有学生的学号和姓名。
请问这个查询SQL语句该怎么写?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • yicp123 2016-06-11 03:21
    已采纳

    select s.number,s.name
    from s where not exists (
    select 1 from sc where sc.number=s.number and sc.course<>'1001');

    参考自:
    EXISTS、IN与JOIN的用法区别 http://www.data.5helpyou.com/article307.html

    点赞 1 打赏 评论
  • intepter 2016-06-10 15:06

    select s.number,s.name from s join sc on s.number=sc.number where sc.course not in ("1001"); 仅供参考

    点赞 打赏 评论

相关推荐