先检索主表S,对每一行再执行SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1'对于EXISTS(SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1'):
如果检索结果不为null,符合条件,显示结果对于not EXISTS(SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1'):
如果检索结果为null,符合条件,显示结果
如果检索结果不为null,符合条件,显示结果对于not EXISTS(SELECT * FROM SC WHERE SC.SNO=S.CNO AND SC.CNO='C1'):
如果检索结果为null,符合条件,显示结果
exist:子句中只要有一條紀錄返回就為真,否則為假,
not exist:子句中沒有紀錄返回則為真,否則為假。
呵呵
bxbx
:)
不为null,显示结果SELECT * FROM S
XX了??? 楼上的 我估计是谢谢的意思吧 呵呵!
赞成bzszp(SongZip)的说法.这句话等效于:
select * from s where cno in (select sno from sc where sc.cno='C1')
但是效率却没有用exists高.