ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > SQL in Excel > 如何查询没学过“叶平”老师课的同学的学号、姓名?

如何查询没学过“叶平”老师课的同学的学号、姓名?

作者:绿色风 分类: 时间:2022-08-17 浏览:116
楼主
wise
Q:如何在Excel中用SQL查询没学过“叶平”老师课的同学的学号、姓名?

数据源:

 


 


 


 

结果表:

 

A:使用如下SQL语句,涉及到not in 及 inner join及多表嵌套的知识。本题目是一个SQL的综合题。
  1. SELECT [Student$].SID, [Student$].Sname
  2. FROM [Student$]
  3. WHERE ((([Student$].SID) Not In
  4. (SELECT DISTINCTROW [Student$].SID FROM [Student$]
  5. INNER JOIN (([Teacher$] INNER JOIN [Course$] ON [Teacher$].TID = [Course$].TID)
  6. INNER JOIN [SC$] ON [Course$].CID = [SC$].CID) ON [Student$].SID = [SC$].SID
  7. WHERE ((([Teacher$].Tname)="叶平")))))

成绩.rar
2楼
水星钓鱼
还是不习惯用JOIN
  1. select sid,sname from [Student$] where sid not in (select sid from [SC$]  where cid in (select cid from [Teacher$] NO1,[Course$] NO2 where NO1.tid=NO2.tid and Tname='叶平'))
3楼
mn860429
  1. select sid,sname from [student$] where not exists

  2. (select * from [course$] where tid in (select tid from [teacher$] where tname ='叶平') and exists

  3. (select * from [sc$] where sid =[student$].sid and cid =[course$].cid))
跟着小七老师学习

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap