MySQL带EXISTS关键字的子查询

EXISTS关键字

后面的参数,可以是任意一个子查询,这个子查询的作用相当于测试,它不产生任何数据,只返回TRUE或FALSE
当返回值为TRUE时,外层的查询才会执行

查询employee表中,是否存在年龄大于21岁的员工,如果存在,则查询department表中的所有记录

MySQL带EXISTS关键字的子查询

可以看出,employee表中,有年龄大于21岁的员工,查询的返回结果为TRUE,因此,外层的查询才会执行

注意,EXISTS关键字,比IN关键字的运算效率高,所以,在实际开发中,特别是大数据量时,推荐使用EXISTS关键字