`
fightforjava
  • 浏览: 29291 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在oracle中使用right(left)join与三层嵌套查询结果集的问题

阅读更多

使用下面的sql语句在oracle做查询:

select b.* from

     (select rownum r,a.* from 

         (select * from RECORD r right join PROGRAMME p on t.PROGRAMME_ID=p.PROGRAMME_ID)a

     where rownum<10)b

where b.r>0

在查询出来的结果集中,用rs.getInt("PROGRAMME_ID");取值会报"列名无效";

后来在数据库中执行了上述查询,发现原表中的PROGRAMME_ID列名变成了QCSJ_C000000000500000

在DAO中用rs.getInt("QCSJ_C000000000500000");取值就会通过.

解决方案:1.做连接的两个表的主键列名,不要取同一个名字.

              2.在最内层的查询中,不要用*匹配所有数据,可以取出自己需要的字段数据.

 

 

分享到:
评论

相关推荐

    oracle-join用法

    在Oracle SQL中,Join主要分为几个类型,包括INNER JOIN、LEFT JOIN (LEFT OUTER JOIN)、RIGHT JOIN (RIGHT OUTER JOIN)以及FULL JOIN (FULL OUTER JOIN)。这些类型在Java编程中同样可以使用,通过SQL查询语句来实现...

    oracle性能优化技巧

    在Oracle数据库中,优化器是决定查询执行计划的关键组件,其目标是最小化资源消耗并最大化查询性能。Oracle提供了三种主要的优化器模式:基于规则(RULE)、基于成本(COST)以及选择性(CHOOSE)。 1. **基于规则...

    oracle 复杂查询语句的使用

    子查询是嵌套在主查询中的查询,它可以在`SELECT`,`FROM`,`WHERE`,`HAVING`子句中使用,以提供临时的结果集。在`WHERE`子句中,子查询可以作为条件的一部分,如`IN`,`EXISTS`等操作符的参数。Oracle支持最多16层...

    oracle 查询部分ppt

    例如,在WHERE子句中使用子查询,可以比较一个值与另一个查询的结果,这在复杂条件判断中非常有用。 聚合函数(Aggregate Functions)如COUNT、SUM、AVG、MAX和MIN等,可以帮助我们对一组值进行统计计算,例如计算...

    asp.net TreeView实现多表嵌套复合查询(数据库ORACLE)

    在多表嵌套查询中,可能涉及JOIN操作,例如INNER JOIN、LEFT JOIN或RIGHT JOIN,以及子查询来获取层级关系。例如,假设我们有两张表:Department(部门)和Employee(员工),Department有父部门ID(ParentDeptID)...

    Oracle复杂查询语句的使用

    连接查询主要用于从两个或更多表中获取数据,根据不同的连接方式,可以分为内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。 ##### 1.1 内连接 内连接返回两个表中满足...

    OracleSQL实例-复杂查询语句的使用实例.pdf

    外连接分为左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全外连接(FULL OUTER JOIN),在这个案例中使用的是左外连接,确保了所有学生信息都能被列出,而不仅仅是那些在 `student_skill` 表中有记录的学生。...

    oracle之查询语句

    Oracle还支持子查询,即嵌套在其他查询中的查询,它可以作为单个值、行集或表来使用。例如: ```sql SELECT column1 FROM table_name WHERE column2 IN (SELECT column2 FROM another_table WHERE condition); ``` ...

    oracle高级查询技巧

    游标(Cursor)允许逐行处理查询结果,对于循环处理大量数据或在PL/SQL代码中控制流程非常有用。有隐式游标和显式游标两种类型。 九、索引优化 理解如何创建和使用索引以提高查询性能至关重要。复合索引、反向键...

    oracle常用经典sql查询.rar

    此外,存在一些特定于Oracle的SQL扩展,如游标(Cursor)用于迭代处理查询结果,PL/SQL(Oracle的Procedural Language/SQL)是Oracle特有的过程化编程语言,可编写存储过程、触发器等数据库对象,增强数据库功能和...

    Oracle官方文档CHM合集-SQL参考手册 Oracle教程 Oracle开发

    联接(JOIN)操作,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN,用于合并两个或更多表的数据。 6. **事务与并发控制**:Oracle支持事务(TRANSACTION),确保数据的一致性和完整性。同时,Oracle使用...

    ORACLE-select-query.rar_oracle_多表查询

    Oracle支持多种JOIN类型,如INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接)。每种连接方式依据匹配条件的不同,返回的结果集也不同。理解如何正确使用JOIN是提升数据库查询...

    Oracle连接查询子查询以及存储过程触发器讲解

    子查询是在一个SQL语句中嵌套另一个查询,用来提供主查询所需的值或结果集。它可以作为表达式、条件或者从句,用于过滤、计算或者比较。子查询可以是单行子查询(返回一行一列)、多行子查询(返回多行一列)或者...

    大型数据库技术-实验二 Oracle SQL PLUS环境与查询.doc

    实验过程中,学生还学习了如何设置SQL提示、导入数据库、调整查询结果的显示长度,以及在遇到问题时如何回顾理论知识和解决问题。实验结果的展示和分析加深了对Oracle SQL查询的理解。 通过这次实验,学生不仅掌握...

    Oracle数据库基本查询知识

    3. RIGHT JOIN (或 RIGHT OUTER JOIN):返回右表的所有行,即使在左表中没有匹配项。 4. FULL JOIN (或 FULL OUTER JOIN):返回两个表中的所有行,无论是否有匹配项。 五、子查询 子查询是在一个查询语句内部嵌套的...

    Oracle数据库应用教程--子查询与高级查询.pptx

    子查询可以出现在SELECT、UPDATE或DELETE语句中,并在WHERE或HAVING子句中使用。 1. **子查询类型**: - **单行子查询**:返回单一值,可以与单行操作符如=、&gt;、&lt;等一起使用。 - **多行子查询**:返回一个或多个...

    oracle常用查询

    3. **连接查询**:JOIN操作允许将多个表的数据结合在一起,如INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接)。 4. **子查询**:子查询是在主查询内部的嵌套查询,可以用于...

    ORACLE表连接方式

    本文将对Oracle中的几种主要表连接方式进行详细介绍:内连接(Inner Join)、自然连接(Natural Join)、左外连接(Left Outer Join)、右外连接(Right Outer Join)、笛卡尔连接(Cartesian Join)、索引连接...

    Oracle查询语句集锦

    Oracle支持`INNER JOIN`、`LEFT JOIN`、`RIGHT JOIN`和`FULL OUTER JOIN`等不同类型的连接。例如,联接员工表和部门表以获取每个员工的部门信息:`SELECT employees.name, departments.dept_name FROM employees ...

Global site tag (gtag.js) - Google Analytics