`
mwei
  • 浏览: 124187 次
  • 性别: Icon_minigender_1
  • 来自: 抽象空间
社区版块
存档分类
最新评论

聚集函数内的子查询-出错

    博客分类:
  • db
阅读更多
--1. 无法执行
select sum(
       select n from 	  --ORA-00936: 缺失表达式
       (select to_number('1') as n from dual
       union all
       select to_number('2') as n from dual)
) from dual

--2. 可以执行
select sum(n) 
from
 (select n from
       (select to_number('1') as n from dual
       union all
       select to_number('2') as n from dual
       )
)

哪位仁兄给详细解释一下,为什么第1种情况在oracle里会报错?或提供可参考的资料 OTZ


分享到:
评论
2 楼 mwei 2011-01-20  
xiang37 写道


聚集函数只能对字段进行操作,而你的函数里面是一个查询的结果集!


恩,谢谢
1 楼 xiang37 2011-01-12  
--1. 无法执行
select sum(
       select n from   --ORA-00936: 缺失表达式
       (select to_number('1') as n from dual
       union all
       select to_number('2') as n from dual)
) from dual

聚集函数只能对字段进行操作,而你的函数里面是一个查询的结果集!

相关推荐

    T-SQL编程入门(SQL Server)

    - **多表内联结查询**: - 示例代码如下: ```sql SELECT Orders.OrderID, Customers.Name FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.ID; ``` - **多表外联接查询**: - 示例代码...

    T-SQL语法大全

    2. **多表内联结查询**: - 内联接查询示例: ```sql SELECT Students.Name, Courses.Title FROM Students INNER JOIN Enrollments ON Students.ID = Enrollments.StudentID INNER JOIN Courses ON ...

    APUE读书笔记《UNIX环境高级编程第二版》

    - 手册页是Unix系统中查询命令、函数等帮助文档的方式。 - 分类包括命令(1)、系统调用(2)、库函数(3)、特殊文件(4)、文件格式(5)、游戏(6)、宏(7)、脚本语言(8)、系统管理命令(8)、硬件接口(10)...

    T-SQL 编程基础 程序员查考资料

    2. **IN(NOT IN)子查询** - 示例:`SELECT * FROM Students WHERE ID IN (SELECT ID FROM Teachers);` 3. **EXISTS子查询** - 示例:`SELECT * FROM Students WHERE EXISTS (SELECT * FROM Teachers WHERE ...

    sql面试题\oracle面试题目

    - 通常在事实表上建立非聚集索引以优化查询性能。 - 对于频繁使用的维度键,可能会建立聚集索引。 #### 11. 相关约束 - **Primary Key**:定义表的唯一标识符。 - **Foreign Key**:定义与其他表之间的关系。 ####...

    2021春招MySQL高频面试题.pdf

    - **易于维护**:自动递增减少了手动分配主键的工作量,降低了出错的可能性。 - **稳定性**:自增列一旦被分配就不会改变,确保了数据的一致性和稳定性。 #### 3. 触发器的作用是什么? 触发器是一种特殊的存储...

    2009达内SQL学习笔记

    用 NOT IN 时,有 NULL 则出错,必须排除空值再运算。 in :选择列表的条件 使用IN操作符的优点: 在长的选项清单时,语法直观; 计算的次序容易管理; 比 OR 操作符清单执行更快;最大优点是可以包含其他 SELECT ...

    数据库语句优化总结(1).doc

    尽可能将IN操作改为EXISTS子查询。 4. **数据类型转换**:在海量查询时,避免不必要的数据类型转换,因为这可能导致全表扫描。 5. **存储过程参数**:在SQL Server 2000中,单个输出参数的存储过程需要初始化参数...

    SQL_Server_2005数据库案例教程教学图书管理系统.rar

    6. **查询语言(SELECT语句)**:深入学习SELECT语句,包括单表查询、多表联接、聚合函数、子查询、分组和排序等。 7. **事务与并发控制**:理解ACID(原子性、一致性、隔离性、持久性)原则,掌握事务的使用和提交...

    2021-2022计算机二级等级考试试题及答案No.3270.docx

    4. 查询操作类型:在数据库管理中,"删除查询"用于删除记录,"生成表查询"用于创建新表并填充数据,"追加查询"用于将数据添加到已有表中,"更新查询"用于修改现有记录。如果要找出90分以上的记录并放入新表,适合...

    我的APUE2读书笔记

    可以通过`getrlimit`和`setrlimit`函数来查询和设置进程的资源限制。 #### 第八章 进程控制 **1. 进程标识符PID的概念** 每个进程都有一个唯一的进程ID(PID)。 **2. fork(2)函数** `fork`函数创建一个新的进程...

    算法导论(part2)

    第1版推出后,即在世界范围内受到了广泛的欢迎,被各高等院校用作多种课程的教材和业界的标准参考资料。它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心...

    算法导论(part1)

    第1版推出后,即在世界范围内受到了广泛的欢迎,被各高等院校用作多种课程的教材和业界的标准参考资料。它深入浅出地介绍了大量的算法及相关的数据结构,以及用于解决一些复杂计算问题的高级策略(如动态规划、贪心...

Global site tag (gtag.js) - Google Analytics