java MySQL数据库编程 第四章 高级查询(二)

2018-06-18 00:19:31来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

第四章 高级查询(二)

(1)通过在子查询中使用EXISTS子句,可以对子查询中的行是否存在进行检查。子查询可以出现在表达式出现的如何位置

(2)子查询语句可以嵌套在SQL语句中任何表达式出现的位置。

一、EXISTS子查询

 

1.使用EXISTS语句判断该数据库对象是否存在:

DROP TABLE IF EXISTS temp;

 

2. EXISTS作为WHERE语句的子查询:

SELECT .....FROM 表名 WHERE EXISTS(子查询);

 

3. EXISTS关键字后面的参数是一个任意的子查询,如果该子查询有返回行。则EXISTS子查询的结果为true,此时再执行外层查询语句。如果子查询有没返回行。则EXISTS子查询的结果为false,此时不再执行外层查询语句。

二、NOT EXISTS子查询

EXISTS和IN一样,同样允许添加NOT关键字实现取返操作,NOT EXISTS表示不存在。

 

三、子查询注意事项

1)子查询可以嵌套在SQL语句中任何表达式出现的位置

         在SELECTE语句中,子查询可以被嵌套在SELECT语句的列、表和查询条件中,即SELECT子句、FROM子句、WHERE子句、GROUP BY子句和HAVING子句。

 

2)只出现在子查询中而没有出现在父查询中的的表不能包含在输出列中

         多层嵌套子查询的最终数据集只包含父查询的SELECT子句中出现的字段,而子查询的输出结果通常会作为其外层子查询数据源或用于数据判断匹配

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:mysql之连接查询小作业

下一篇:Mysql相关操作