SQL中Exists的使用

来源:互联网 发布:delphi python 编辑:程序博客网 时间:2024/06/06 04:51

 

说明

EXISTS(包括 NOT EXISTS )子句的返回值是一个BOOL值。 EXISTS内部有一个子查询语句(SELECT ... FROM...), 我将其称为EXIST的内查询语句。其内查询语句返回一个结果集。 EXISTS子句根据其内查询语句的结果集空或者非空,返回一个布尔值。

一种通俗的可以理解为:将外查询表的每一行,代入内查询作为检验,如果内查询返回的结果取非空值,则EXISTS子句返回TRUE,这一行行可作为外查询的结果行,否则不能作为结果。

Exists是子查询的一种条件形式,通过判断Exists的选择表达式(括号内的部分)的结果,如果存在一行或多行结果记录,则Exists整个子查询结果为真,否则为假。由于我们采用Exists来实现子查询,只需要关心是否存在满足条件的记录,所以选择表达式的选择列表采用*来实现,当然,你也可以在选择列表指明具体的某些列,但这些列将在整个搜索过程中被忽略。

 

实例:

 

-- 1、  where条件中的子查询和主查询没关系select  Resc_idfrom  dbo.Res_Coachwhere  EXISTS (select  Rese_id  from  dbo.Res_Excellent  where  Rese_id  Is  null ) -- 2、  where条件中得子查询和主查询有关系select  Resc_idfrom  dbo.Res_Coachwhere  EXISTS (select  Resc_id  from  dbo.Res_Coach  where  Resc_id  Is  null )


 

文章转载自:      SQL中Exists的用法      http://www.studyofnet.com/news/204.html

 

 

原创粉丝点击