数据库学习笔记系列(8)——嵌套查询
2015-04-26 15:17
239 查看
在SQL语言中,一个select-from-where语句称为一个查询块。将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询。
上层的查询称为外层查询、父查询、主查询;
下层的查询称为内查询、子查询。
SQL语言允许多层嵌套查询,即一个子查询中还可以嵌套其它的子查询。
子查询的select语句中不能使用order by子句,order by 子句永远只能对最终查询结果排序,也就是只能适用于最外层的查询结果。
每个子查询在其上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。
以层层嵌套的方式构造程序正是SQL(structured query language)中“structured”的含义所在。
1. in谓词的子查询
in谓词引起的子查询语句最为常见。其可以判断某个属性列值是否在子查询的结果中,当子查询的结果是一个集合的时候,使用in谓词较合适。
例:查询和孙浩一个学院的学生信息
我们发现in 谓词后面的括号中就是子句,子句中select出来的字段一定要是父查询where后面的字段。
2. 带有比较运算符的之查询
就是指父查询和子查询之间用比较运算符进行连接,当用户能确切知道子查询返回的是一个数值的时候,我们就可以用>, <, =, >=, <=, <>(!=)等比较运算符。
例:查询考分比孙浩高的学生信息
我们发现运算符后面的括号中就是子句,子句中select出来的字段一定要是父查询where后面的字段。
3. 带有any或all谓词的子查询
子查询返回单值时可以用比较运算符外,也可以使用any或all谓词,不过与此同时必须使用同时使用比较运算符。
例:查询其他系中比IS系某一个学生年龄小的学生信息
上面的命令中我们使用的是
上层的查询称为外层查询、父查询、主查询;
下层的查询称为内查询、子查询。
SQL语言允许多层嵌套查询,即一个子查询中还可以嵌套其它的子查询。
子查询的select语句中不能使用order by子句,order by 子句永远只能对最终查询结果排序,也就是只能适用于最外层的查询结果。
每个子查询在其上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。
以层层嵌套的方式构造程序正是SQL(structured query language)中“structured”的含义所在。
1. in谓词的子查询
in谓词引起的子查询语句最为常见。其可以判断某个属性列值是否在子查询的结果中,当子查询的结果是一个集合的时候,使用in谓词较合适。
例:查询和孙浩一个学院的学生信息
我们发现in 谓词后面的括号中就是子句,子句中select出来的字段一定要是父查询where后面的字段。
2. 带有比较运算符的之查询
就是指父查询和子查询之间用比较运算符进行连接,当用户能确切知道子查询返回的是一个数值的时候,我们就可以用>, <, =, >=, <=, <>(!=)等比较运算符。
例:查询考分比孙浩高的学生信息
我们发现运算符后面的括号中就是子句,子句中select出来的字段一定要是父查询where后面的字段。
3. 带有any或all谓词的子查询
子查询返回单值时可以用比较运算符外,也可以使用any或all谓词,不过与此同时必须使用同时使用比较运算符。
例:查询其他系中比IS系某一个学生年龄小的学生信息
上面的命令中我们使用的是
相关文章推荐
- 数据库学习笔记系列(4)——单表查询_1
- 【WPF学习笔记】之如何把数据库里的值读取出来然后显示在页面上:动画系列之(六)(评论处有学习资料及源码)
- 【WPF学习笔记】之如何保存画面上新建的数据到数据库中并且删除画面上的数据和数据库的数据:动画系列之(五)
- 数据库学习笔记系列(3)——索引_2
- Oracle学习系列笔记------数据库登陆、表空间管理
- [Android学习系列7]数据库学习笔记
- 数据库 / sql 学习笔记
- 数据库学习笔记(二)
- 数据库学习笔记之SQL查询的基本语法结构
- Sharepoint学习笔记—习题系列--70-573习题解析 -(Q111-Q114)
- 编解码学习笔记(三):Mpeg系列——Mpeg 1和Mpeg 2
- 数据库学习笔记
- 公共语言运行库(CLR)开发系列课程___学习笔记(1)
- Deep Learning(深度学习)学习笔记整理系列之(三)
- 步步为营 SharePoint 开发学习笔记系列总结
- java8 学习系列--NIO学习笔记
- Deep Learning(深度学习)学习笔记整理系列之LeNet-5卷积参数个人理解
- JAVA学习笔记(十一)连接数据库
- 【学习】构建WCF面向服务的应用程序系列课程笔记:(1) WCF概要
- Keras深度学习框架学习笔记系列(1)- IndentationError错误问题