1、
① 在创建数据库和表时,通过 not exists 进行判断
(create database / table if not exists demo; )
② 在删除数据库和表时,通过 exists 进行判断
(drop database / table if exists demo; )
2、作为where 语句的子查询
select …… from 表名 where exists (子查询);
说明:
exists 用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False,与子查询后的select语句中的字段列表无关。
注意事项:
① 在写exists 内部查询的时候 使用了count函数,所有exists内部查询一直返回true,因为count方法总是能返回一条结果的,无论库里边是否有数据,所以一般 exists 后面的查询通常都用 * 表示,给出具体的列名没有实际意义。
② 当查询有多个条件时,exists 条件要放在最后。如放在其他条件前,会影响查询效率。