Mysql exists和in

今天在学习sql语句时,遇到关于exsits的用法,下面是题目:

表架构

Student(S#,Sname,Sage,Ssex) 学生表 
Course(C#,Cname,T#) 课程表 
SC(S#,C#,score) 成绩表 
Teacher(T#,Tname) 教师表

问题:

查询学过“001”并且也学过编号“002”课程的同学的学号、姓名:

  即执行主句查询前,先查询是否子句是否为真,若存在学过002课程的学生,再执行查询学过001的,

此时查询出来的结果,就符合既学过001又学过002。

select Student.`S#`,Student.Sname from Student,SC where Student.`S#`=SC.`S#` and SC.`C#`=\'001\'and exists(
Select * from SC as SC_2 where SC_2.`S#`=SC.`S#` and SC_2.`C#`=\'002\');

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdzwg.html