sql (6) exists
SQL中EXISTS的用法
查询所有选修了1号课程的学生的姓名,年龄,性别
首先取Student表中的一个元组,
然后在SC表中依次找SC.Sno=该元组的So,
并且对应的Cno='2',
如果存在,则外层查询的where子句返回为真,
则Student表中的该元组可以输出。
然后依次遍历Student表中的其他元组。
新建表:
(1)Student
So              Sname           Ssex           Sage
1511010100	小明      	男        	10
1511010101	小粒      	男        	11
1511010102	小花      	女        	12
1511010103	小莉      	女        	13

(2)Course
Cno      Cname          Ccre           Credit
1	JAVA      	2         	2         
2	C         	2         	2         
3	ANDROID   	4         	4         
4	SQL       	3         	3         
5	PASCAL    	2	2

(3)
SC
Sno             Cno     Credit  
1511010100	2	96        
1511010101	2	98        
1511010100	1	90        
1511010104	3	98        
1511010102	4	97

查询:
对于在学生表中学号等于151010100这个元组,在SC表中第一条记录即符合条件,然后where 子句返回 true,所以该条元组可以输出。然后依次遍历。
select Sname,Sage,Ssex from Student where exists ( select * from SC where SC.Sno = Student.So AND Cno='2' );
结果:
Sname          Sage     Ssex
小明      	10	男        
小粒      	11	男        
 

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号