嵌套子查询时需要注意的问题

简介:

嵌套子查询时需要注意的:

(1)、一个子查询必须放在圆括号中

(2)、将子查询放在比较条件的右边以增加可读性

(3)、子查询不包含order by子句。对一个select语句只能用一个order by子句。

(4)order by子句可以使用,并且在进行top-n分析时是必须的,注意,如果指定了它就必须放在主select语句的最后。

(5)、在写嵌套子查询的时候,在分析此要求要涉及几张表,然后对每一张进行sql的编写,最后把所写好的sql合到一块。在分析要求的时候应该从外面往里面分析,也就是说当分析到最底层的sql语句中不用其它表的字段来做为自己的查询条件时就可以了;但是在写的时候应该从里面往外面写。例如:

--选取计算机系学生选修了"数据结构"课程的学生基本信息,并按年龄降序排列

select * from student where sno in (

select sno from sc where cno in(

select cno from course where cname='数据结构'))and sdept='计算机' order by sage desc

如上sql语句中,最内层的带下划线的sql语句就是最底层的sql


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/416801,如需转载请自行联系原作者

 

相关文章
if语句的嵌套
if语句的嵌套。
132 1
|
C++
83 C++ - 谓词
83 C++ - 谓词
47 0
|
25天前
|
SQL 关系型数据库 MySQL
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
本文详细介绍了MySQL中的多表查询,包括多表关系、隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询及其实现方式,一文全面读懂多表联查!
【MySQL基础篇】多表查询(隐式/显式内连接、左/右外连接、自连接查询、联合查询、标量/列/行/表子查询)
|
5月前
|
SQL Serverless 数据库
HAVING和WHERE子句 有什么区别?
【8月更文挑战第2天】
189 17
HAVING和WHERE子句 有什么区别?
|
5月前
|
SQL 数据处理
子查询的类型
【8月更文挑战第2天】子查询的类型
100 29
|
8月前
|
C++
C++中使用嵌套的if语句
C++中使用嵌套的if语句
76 1
|
关系型数据库 MySQL 索引
避免在where子句中使用!=或<>操作符
避免在where子句中使用!=或<>操作符
WHERE子句操作符
WHERE子句操作符
58 0
|
SQL 关系型数据库 MySQL
嵌套套娃,MySQL子查询,单行与多行子查询,相关和不相关(关联)子查询,完整详细可收藏
嵌套套娃,MySQL子查询,单行与多行子查询,相关和不相关(关联)子查询,完整详细可收藏
283 0
嵌套套娃,MySQL子查询,单行与多行子查询,相关和不相关(关联)子查询,完整详细可收藏