效果是:

我们查出来叶平的教的课的id是002和016.我们选出的学生同时有这两门课。

如下:

-------------------------------------------------------------------------------------------------------------------------------------------------

具体的做法:

第一步:查找叶平的id

select  tblteacher.TeaId from tblteacher where tblteacher.TeaName='叶平'-- 查出叶平老师的id

第二步:查找叶平上的课的id

select  tblcourse.CourseId from tblcourse where tblcourse.TeaId=
(
select  tblteacher.TeaId from tblteacher where tblteacher.TeaName='叶平'-- 查出叶平老师的id
)-- 叶平老师上的课的课程id

结果:

然后就碰到了问题卡在这里了。

遇到的问题是:

我们要查的是上过这两门课的人(001,016)就是说这个人是这样的:

怎么去查呢?

语句:
select st.StuId,st.StuName from tblstudent st where NOT EXISTS
(
/*
要满足的条件是:
1:查叶平的id(两个)
2:叶平的两个id(看做一个整体)不能包含在我学生对应的查出来的成绩表中的课程id
*/
select  tblcourse.CourseId from tblcourse where tblcourse.TeaId=
(
select  tblteacher.TeaId from tblteacher where tblteacher.TeaName='叶平'-- 查出叶平老师的id
) and tblcourse.CourseId nOT IN(
SELECT TBLSCORE.CourseId FROM TBLSCORE WHERE tblscore.StuId=st.StuId)
)

这里对NOT EXISTS说明一下。

NOT EXISTS(。。。。。)

。。。查出来有结果那么就返回true,但是因为NOT,所以又变成了false,那么select就不返回任何东西。

。。。查出来没有结果那么返回就是false。但是因为NOT.所以又变成了true,那么select 就返回那个查询结果。

50个查询系列-第七个查询:查询学过“叶平”老师所教的所有课的同学的学号、姓名...相关推荐

  1. 学习记录375@查询学过“谌燕”老师所教的所有课的同学的学号、姓名-MySQL

    这玩意折磨了我一个小时,必须记录一下!解题思路和答案在最后. 相关表 CREATE DATABASE stumsc; CREATE TABLE student(sno VARCHAR(10) PRIM ...

  2. 6、查询学过“张三”老师所教的所有课的同学的学号、姓名(重点)

    -- 6.查询学过"张三"老师所教的所有课的同学的学号.姓名(重点) SELECT d.s_id,d.s_name,a.t_name,c.c_id FROM teacher as ...

  3. 【原创】StreamInsight查询系列(十九)——查询模式之检测异常

    上篇文章介绍了查询模式中如何发现趋势,这篇博文将介绍StreamInsight中如何检测异常. 测试数据准备 为了方便测试查询,我们首先准备一个静态的测试数据源: var now = DateTime ...

  4. 查询选修了课程表中所有课的同学的学号、姓名

    [表名和字段] 有如下几个表,分析问题选择合适的表进行查询 1.学生表 student(sid,sname,gender,class_id) 学生编号,学生姓名,学生性别,班级编号 2.课程表cour ...

  5. Linq To Sql进阶系列(七)动态查询续及CLR与SQL在某些细节上的差别

    在上面一篇文章Linq To Sql进阶系列(六)中,我们提到了使用object的动态查询.本文在上文的基础上,再做更加深入的引申.同时修正上文中一些不妥的地方. 1, object的动态查询续 首先 ...

  6. 【原创】StreamInsight查询系列(六)——基本查询操作之分组聚合

    上篇博文介绍了StreamInsight基础查询操作中的用户自定义聚合部分.这篇文章将主要介绍如何在StreamInsight查询中使用分组聚合. 测试数据准备 为了方便测试查询,我们首先准备一个静态 ...

  7. SQL查询系列之六:SQL模糊查询

    2019独角兽企业重金招聘Python工程师标准>>>   在SQL结构化查询语言中,LIKE语句有着至关重要的作用.LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式. ...

  8. 【原创】StreamInsight查询系列(三)——基本查询操作之过滤

    上篇博文介绍了如何在LINQPad中输出StreamInsight查询结果.这篇文章将主要介绍StreamInsight基础查询操作中的过滤部分. 测试数据准备 为了方便测试查询,我们首先准备一个静态 ...

  9. 【原创】StreamInsight查询系列(十)——基本查询操作之联接

    上篇博文介绍了StreamInsight基础查询操作中的决胜排序部分.这篇文章将主要介绍如何StreamInsight基本查询的最后一篇--联接. 测试数据准备 为了方便测试查询,我们首先准备一些静态 ...

  10. 【数据库 Mysql查询系列】--检索出stu表中‘计算机工程’或‘软件工程’专业的学生的记录,结果集按学号升序排序。

    涉及到的两个表: 代码如下: select sno as 学号,sname as 姓名,sex as 性别,mname as 专业 from stu,major where stu.mno=major ...

最新文章

  1. win7硬件要求_电脑硬件运行游戏测评
  2. 管道无损检测python_武汉哪里有便携式X射线探伤机使用方法欢迎咨询
  3. 计算机网络基础期中测试题,计算机网络基础期末考试试题
  4. 离散哈特莱变换(DHT)及快速哈特莱变换(FHT)学习
  5. 【渝粤题库】陕西师范大学292969 会计学 作业 (专升本、高起本)
  6. “CV_RGB2BGR”: 未声明的标识符
  7. C/C++判断操作系统(Win10,Win8.1WinServer等等)-完整源码及思路
  8. [分享] Flask 网络开发经典书籍: Flask Web Development
  9. 想通过C++寻找后端开发工作如何提升自己?
  10. php家乡介绍网页,家乡网站设计与实现.doc
  11. 推荐用于BMS锂电池管理系统的低功耗蓝牙芯片MS1656
  12. Android常用播放器对比,谁更好用?四款Android音乐播放器对比
  13. 浅谈 Unity、iOS、Android 闭包的使用方法
  14. 如何使用NVivo进行定性研究?
  15. 大数据中台架构以及建设全流程二(Daas层设计)
  16. java重置按钮功能函数_Bootstrap按钮功能之查询按钮和重置按钮
  17. 西南民族大学第十届校赛(同步赛)(J题——怪盗基德 月之瞳宝石)
  18. php file取不到手机相册,php file_get_contents 读取不了图片
  19. 自考计算机数据结构导论,自考数据结构导论……
  20. 斑马快传,高效安全的内外网文件传输软件,可穿透网闸服务器杀毒。

热门文章

  1. 移动海信IP102H_905L3-B_线刷固件包
  2. Android加载服务器的静态图片文件
  3. 狂神说java-Mybatis
  4. 数据库基础学习-计划内容 For 小样儿
  5. 内存分配方式及内存碎片
  6. 虚假共识—阿比勒尼悖论:“枪打出头鸟”与“事后诸葛亮”
  7. 在外置移动硬盘中安装Win10
  8. Maya界面编程入门:在Maya中使用Qt
  9. 英雄无敌6服务器在哪个文件夹,win7系统英雄无敌6无法运行的解决方法
  10. android前置录像,Android Camera2video使用前置摄像头(Android Camera2video use front camera)