exists

select count(*) from Table_A

where exists

(select count(*) from Table_B.Column1 = Table_A.Column1)

该语法的意义是:表A的字段1和表B的字段1中有相同的数据(可以理解为ID属性),该SQL查询表A在表B中Column重复的数据有多少。

 

百度词条:EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。

 

通过词条定义也可理解,使用exists之后的子查询,仅仅返回一个布尔值,该子查询作为一个判断条件,如果符合,返回True,反之返回False,

通过例句SQL可以看出,我想判断表B的column1的值是否和TableA的column的值是否相等,如果相等,返回true,反之为false,那么,

整个SQL的就是统计表A的column1属性与表B的column1属性的行数(自行脑补数据库一行一行的格式)。

你可能感兴趣的:(exists)