1、先写个10个关于exists的sql语句,前7个是查询结果集的后3个显示exists执行结果的,如图
2、首先看一个特殊的执行情况exists执行select null,发现结果显示整张表数据,如图
3、在exists(SELECT NULL)执行的结果显示,如图
4、然后再看查询结果的执行结果发现结果都是整张表数据,这是个什么情况呢,请继续玩下看,如图
5、再次查看上一步结果集中输入的exists执行的结果也是1,如图
6、然后看下这个SELECT * FROM help_topic where ex坡纠课柩ists(SELECT * FROM 茑霁酌绡help_topic WHERE help_category_id=11111);这个语句执行的结果集是空的,看到的exists只的结果是0,如图
7、而SELECT * FROM help_topic where exists(SELECT * FROM help_topic WHERE help_category_id=36) and help_category_id=36执行的结果没有显示整张表数据,从而可以结论出exists执行的结果只是一个0或1的值,为1的情况下代表表中有符合条件的数据,然后在执行表查询,但是exists中的条件不会影响外围查询,查询还需要加条件的,如图