全面解析SQL嵌套子查询
发布时间:2019-08-19 23:11:42
发布时间:2019-08-19 23:11:42
全面解析SQL嵌套子查询作者:张 捷来源:《中国市场》2009年第40期
[摘 要]嵌套查询是SQL语句的扩展,也是结构化查询的精髓。本文结合若干实例,从四个方面全面解析了嵌套查询的使用方法和使用技巧。
[关键词]SQL 语句;全面解析;嵌套;子查询
[中图分类号]TP311 [文献标识码]A [文章编号]1005-6432(2009)40-0074-01
在一个SQL语句的WHERE 子句或HAVING 子句中嵌套另一个SELECT 语句的查询称为嵌套查询,又称子查询。子查询是SQL 语句的扩展,也是结构化查询的精髓所在。熟练地掌握SQL嵌套子查询的使用是每个数据库管理员必需的基本能力。本文结合一些实例,深入浅出地讲解了SQL嵌套查询的几种应用情况。
1 子查询使用原则
(1)一个子查询必须放在圆括号中。
(2)将子查询放在比较条件的右边以增加可读性。子查询不能包含 ORDER BY 子句。对一个 SELECT 语句只能用一个 ORDER BY 子句, 并且如果指定了它就必须放在主 SELECT 语句的最后。
(3)在子查询中可以使用两种比较条件:单行运算符和多行运算符。
2 使用谓词[not]in的子查询
(1)格式:select … from … where … in(select … )
(2)语句执行顺序:通常从内层到外层,即子查询为不相关子查询。这里的“不相关子查询”指与父查询不相关,先于父查询运行。查询除了不相关子查询还有相关子查询,相关子查询指的是子查询要以父表为条件,这个在 [not]exists 查询中将会使用到。