数据库部分知识点
2015-11-08 22:43
344 查看
嵌套查询
•一个SELECT-FROM-WHERE语句称为一个查询块
•将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询
(Nested Query)
SELECT Sname /*外层查询或父查询*/
FROM Student
WHERE Sno IN
(SELECTSno /*内层查询或子查询*/
FROMSC
WHERECno= '2’ );
•子查询的限制
①不能使用ORDERBY子句
②ORDERBY子句只对最终查询结果排序
•层层嵌套方式反映了SQL语言的结构化
•不相关子查询:子查询的查询条件不依赖于父查询。由里向外逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。
相关子查询:子查询的查询条件依赖于父查询
①首先取外层查询表第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表
②然后再取外层表的下一个元组
③重复这一过程,直至外层表全部检查完为止
•一个SELECT-FROM-WHERE语句称为一个查询块
•将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询称为嵌套查询
(Nested Query)
SELECT Sname /*外层查询或父查询*/
FROM Student
WHERE Sno IN
(SELECTSno /*内层查询或子查询*/
FROMSC
WHERECno= '2’ );
•子查询的限制
①不能使用ORDERBY子句
②ORDERBY子句只对最终查询结果排序
•层层嵌套方式反映了SQL语言的结构化
•不相关子查询:子查询的查询条件不依赖于父查询。由里向外逐层处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。
相关子查询:子查询的查询条件依赖于父查询
①首先取外层查询表第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表
②然后再取外层表的下一个元组
③重复这一过程,直至外层表全部检查完为止
相关文章推荐
- 40.Oracle数据库SQL开发之 日期和时间的存储与处理——使用TO_CHAR和TO_DATE
- 39.Oracle数据库SQL开发之 日期和时间的存储与处理——几个简单的存储检索日期
- 38.Oracle数据库SQL开发之 对行进行分组
- 37.Oracle数据库SQL开发之 使用聚合函数
- 36.Oracle数据库SQL开发之 使用简单函数——使用单行函数正则表达式函数
- 35.Oracle数据库SQL开发之 使用简单函数——使用单行函数转换函数
- 34.Oracle数据库SQL开发之 使用简单函数——使用单行函数数字函数
- 33.Oracle数据库SQL开发之 使用简单函数——使用单行函数字符函数
- MyISAM InnoDB 区别
- 32.Oracle数据库SQL开发之 SQLPlus使用——断开数据库并退出SQLPLUS
- 31.Oracle数据库SQL开发之 SQLPlus使用——自动生成SQL语句
- 30.Oracle数据库SQL开发之 SQLPlus使用——从SQL获取帮助信息
- SQL Server 表变量和临时表的区别(详细补充篇)
- AD RMS之Windows 内部数据库迁移到 SQL 服务器
- 29.Oracle数据库SQL开发之 SQLPlus使用——创建简单报表
- 28.Oracle数据库SQL开发之 SQLPlus使用——使用变量
- 27.Oracle数据库SQL开发之 SQLPlus使用——设置页面、行大小
- 26.Oracle数据库SQL开发之 SQLPlus使用——格式化列
- 25.Oracle数据库SQL开发之 SQLPlus使用——保存、检索并运行文件
- 24.Oracle数据库SQL开发之 SQLPlus使用——编辑SQL语句