ORACLE —子查询
N行N列的概念:
根据查询结果行数与列数的不同,简单分为以下四种查询结果:
单行多列:查询结果中仅有一行数据,但是列数上不止一列
多行单列:查询结果中仅有一列数据,不过行数上不止一行
单行单列:无论是在行还是列上,都只有一个
多行多列:无论是在行还是列上,都不止一个
子查询的定义:
在一个查询语句中,嵌入一条查询语句,该条嵌入的语句的查询结果成为外层SQL的一部分,即子查询。
子查询用在条件中的注意点:
1)可以使用N行N列中的每一种情况
2)主查询与子查询无论在列数还是属性上都要相统一
子查询作为数据源的注意点:
1)数据源本身没有行列的限制,所以子查询在该处也可使用N行N列的每种情况
2)子查询作为数据源时,若SELECT子句某字段上出现了函数,则该字段只有命别名才可以被主查询引用
3)主查询不关心子查询的结果是如何得到的,只关心子查询是什么结果,子查询中的字段能否被正常引用
子查询的其他注意点:
1)子查询的结果不要放在GROUP BY和ORDER BY子句中, 依照之前所述,根据常量