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

Posted 盼盼的胖胖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java MySQL数据库编程 第四章 高级查询相关的知识,希望对你有一定的参考价值。

第四章 高级查询(二)

(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子句中出现的字段,而子查询的输出结果通常会作为其外层子查询数据源或用于数据判断匹配

以上是关于java MySQL数据库编程 第四章 高级查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL_第四章

MySQL高级查询和编程基础

「MySql高级查询与编程」练习:企业员工管理

「MySql高级查询与编程」练习:企业员工管理

第四章 高级查询

学习笔记MySQL数据库高级版 - 索引优化慢查询锁机制等