位置: 首页 >  生活 >  详情

not exists sql用法_SQL中EXISTS怎么用

作者:new01 来源:互联网2023-05-29 04:15:26

1、语法EXISTSsubquery参数subquery是一个受限的SELECT语句(不允许有COMPUTE子句和INTO关键字)。

2、有关更多信息,请参见Select中有关子查询的讨论。

3、结果类型Boolean结果值如果子查询包含行,则返回TRUE。


【资料图】

4、说明EXISTS(包括NOTEXISTS)子句的返回值是一个BOOL值。

5、EXISTS内部有一个子查询语句(SELECT...FROM...),我将其称为EXIST的内查询语句。

6、其内查询语句返回一个结果集。

7、EXISTS子句根据其内查询语句的结果集空或者非空,返回一个布尔值。

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

9、Exists是子查询的一种条件形式,通过判断Exists的选择表达式(括号内的部分)的结果,如果存在一行或多行结果记录,则Exists整个子查询结果为真,否则为假。

10、由于我们采用Exists来实现子查询,只需要关心是否存在满足条件的记录,所以选择表达式的选择列表采用*来实现,当然,你也可以在选择列表指明具体的某些列,但这些列将在整个搜索过程中被忽略。

11、Exists实例SQL代码复制selectResc_idfrom***.res_CoachwhereEXISTS(select*fromRes_CoachwhereResc_idisnull)查询原理:遍历***.res_Coach每一条,同时处理where条件(EXISTS(select*fromRes_CoachwhereResc_id=0)判断结果为true或者false),为true时拿出该条,false时,放弃该条记录。

12、SQL代码复制--where条件中的子查询和主查询没关系selectResc_idfrom***.res_CoachwhereEXISTS(selectRese_idfrom***.res_ExcellentwhereRese_idIsnull)--2、where条件中得子查询和主查询有关系selectResc_idfrom***.res_CoachwhereEXISTS(selectResc_idfrom***.res_CoachwhereResc_idIsnull)实例备注:不管where条件中得子查询和主查询有没有关系,遍历主查询中得每一条时,判断where条件,exists结果为真,where条件返回true,拿出该条记录,where条件返回false,不返回该记录。

13、Exists和In的选择如果查询的两个表大小相当,那么用in和exists差别不大。

14、如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in。

本文就为大家分享到这里,希望小伙伴们会喜欢。

标签:

上一篇: 这个是真的吧?拜仁官方晒沙拉盘视频:回到它本该在的地方
下一篇: 最后一页