他们分别是在 in 关键字后跟一张表(记录集),以及在in后面加上字符串集。
先讲后面跟着一张表的。
首先阐述三张表的结构:
s(sno,sname.sex,age,dept) //学生信息表
c(cno,cname,tname) //课程信息表
sc(sno,cno,grade) //课程选修信息表
update sc set grade = 0 where sc.cno in (select cno from c where c.cname = '物理') and sc.grade < 60; 比如说这条sql语句 ,这条sql语句是将课程为物理的不及格的分数设定为0分。
这个例子里的in后面就跟着一张由select语句 产生的一张临时表。
好,那么现在再来看下面的in后面跟着一个字符串集,其实也不见得非得是字符串集。
select * from s where sname in ('aaa','bbb','ccc');