Mysql数据库教程(三)[云图智联]
1.1高级查询 1.1.1 EXISTS子查询 在实际开发中,我们常常会遇到表是否存在,及创建表等等的过程,mysql中如何对已存在的表进行提示并且进行创建呢?可以 使用exists子句对表创建进行判断生成。 语法: DROP TABLE IF EXISTS temp; CREATE TABLE temp ( … … #省略建表语句 ) ; 注意 : IF EXISTS子查询语句在上面的作用为判断表是否存在,如果表temp存在,那么就进行创建temp表,同样和我们的判断相似,存在返回true,不存在当前表返回false,那么除了判断表以外,还可以做什么呢?它还可以进行以下判断: 语法: SELECT …… FROM 表名 WHERE EXISTS (子查询); 当我们在查询时加上EXISTS子句的时候,作用是用来判断EXISTS后面的子查询中是否有返回结果的数据,如果有则返回true,执行外围查询,如果没则返回false,不执行外围查询。这也是他的一个常用方法。当然了,还有他的“对头” NOT EXISTS 子句: 语法: SELECT …… FROM 表名 WHERE NOT EXISTS (子查询); NOT EXISTS子句和EXISTS子句含义相反。 子查询注意事项: 在我们使用子查询时,需要注意以下几点: 1 )任何允许使用表达式的地方都可以使用子查询 2 )