1、定义
标量子查询是一个子查询,它只从一行中返回一个列值。
标量子查询表达式的值是子查询的可选列表项的值。
如果子查询返回 0 行,则标量子查询表达式的值为 NULL。
如果子查询返回多行,则报错。
可以在大多数要求表达式 (expr) 的语法中使用标量子查询表达式。
在所有情况下,标量子查询必须包含在其自己的括号中,即使其句法位置已将其定位在括号内(例如,当标量子查询用作内置函数的参数时)。
2、他不能用在如下条件中:
不能作为列的默认值
不能作为cluster的哈希表达式(hash)
不能用在 DML 语句的返回子句中
不能作为基于函数的索引的基础
不能用在check约束中
Scalar Subquery Expressions
A scalar subquery expression is a subquery that returns exactly one column value from one row. The value of the scalar subquery expression is the value of the select list item of the subquery. If the subquery returns 0 rows, then the value of the scalar subquery expression is NULL. If the subquery returns more than one row, then Oracle returns an error.
标量子查询表达式是一种从一行只返回一个列值的子查询。标量子查询表达式的值就是子查询的选择列表项的值。如果子查询返回0行,则标量子查询表达式的值为NULL。如果子查询返回多于一行,Oracle将返回一个错误。
You can use a scalar subquery expression in most syntax that calls for an expression (expr). In all cases, a scalar subquery must be enclosed in its own parentheses, even if its syntactic location already positions it within parentheses (for example, when the scalar subquery is used as the argument to a built-in function).
在大多数调用表达式(expr)的语法中,都可以使用标量子查询表达式。在任何情况下,标量子查询都必须用自己的圆括号括起来,即使它的语法位置已经把它放在圆括号中(例如,当标量子查询用作内置函数的参数时)
Scalar subqueries are not valid expressions in the following places:
标量子查询在以下位置不是有效的表达式:
(1)As default values for columns
作为列的默认值
(2)As hash expressions for clusters
作为集群的散列表达式
(3)In the RETURNING clause of DML statements
在DML语句的返回子句中
(4)As the basis of a function-based index
作为基于函数的索引的基础
(5)In CHECK constraints
在检查约束
(6)In GROUP BY clauses
按group by 子句
(7)In statements that are unrelated to queries, such as CREATE PROFILE
在与查询无关的语句中,如CREATE PROFILE
例
在scott用户中查询员工(emp)和部门(dept)的总数
SQL> select (select count(*) from emp) 员工总数,(select count(*) from dept) 部门总数 from dual;
员工总数 部门总数
---------- ----------
14 4
查询每位员工的主管名字
SQL>
select e.ename||q'[的主管是]'||m.ename
from emp e,(
select empno,ename,job from emp) m
where e.mgr=m.empno;
————————————————
版权声明:本文为CSDN博主「Aluphami」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012778985/article/details/113899515