`

一个奇怪的Oracle sql问题

阅读更多
select A.M,B.N 
from Table1 A
left join Table2 B on A.Table2_SID = B.SID
where M = 'xxx'


当Table1和Table2中都有名为M的列时,将会查不出任何记录!尽管Table1中有符合where条件的记录。

这个问题很奇怪。。。按理说,如果是因为M未明确指定的原因,oracle应该给报个“ORA-00918: column ambiguously defined”才是。

当然,避免问题出现的解决办法很简单,就是为where条件里的列M指定表别名:


select A.M,B.N 
from Table1 A
left join Table2 B on A.Table2_SID = B.SID
where A.M = 'xxx'
分享到:
评论

相关推荐

    oracle执行update语句时卡住问题分析及解决办法

    开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果。但是奇怪的是执行其他的select语句却是可以执行的。 原因和解决方法 这种...

    每个Oracle DBA都应该遵从的调优法则

    Oracle SQL调整:Oracle SQL调整是Oracle调整中最重要的领域之一,只要通过一些简单的SQL调优规则就可以大幅度地提升SQL语句的性能,这是一点都不奇怪的。--调整Oracle排序:排序对于Oracle性能也是有很大影响的。

    奇怪的SQL_可以进一步跟进.

    一个奇怪的sql.运行环境:vs2013的工具"connect to database"下的query window.效果:空白字符导致查询条件无效. 需要使用抓包工具进一步分析.

    真正的《SQL Injection Cheat Sheet》

    根据提供的文件信息,本文档是一份关于SQL注入的指南,称为《SQL Injection Cheat Sheet》。文件以英文撰写,内容详实,涉及到各种SQL注入技术及其示例和分析对策。下面详细说明文档中的主要知识点: 1. SQL注入...

    Oracle Max函数使用中出现的问题

    再写一个存储过程时, 用到了如下sql语句 代码如下: SELECT MAX(RE_DATE) INTO V_RE_DATE FROM T_RECORDING WHERE ID =’100010010102′ 按理说,根据这个条件查询的结果应该为sqlcode=1403 ,但是奇怪的是如下sql...

    oracle笔记

    - **视图**:基于一个或多个表(或视图)的虚拟表,可以简化复杂查询。 - **同义词**:为表、视图或其他对象创建的别名,提高代码的可读性和可维护性。 - **索引**:用于提高数据检索速度的数据结构,可以是唯一索引...

    详解PL/SQL Developer连接本地Oracle 11g 64位数据库

    这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files (x86)目录下,不然无法启动PL/SQL Developer。 奇怪这里为什么选择不到数据库的TNS呢?我是先安装...

    Oracle用户密码含有特殊字符导致无法登陆解决方法

    今天碰到一个比较奇怪的问题: 在客户端上使用sqlplus用普通用户可以登录,但是system以及sys用户均无法登录,提示ORA-12154: TNS: 无法解析指定的连接标识符 SQL> conn system@webdata 输入口令: ERROR: ORA-12154: ...

    深入ORACLE迁移到MYSQL的总结分析

    这两个星期里一直都在忙于一件事儿,就是数据库的迁移问题。没有做的时候感觉这是一件十分轻松的事儿,可是等到实实在在去做去实现的时候,自己...这里我也是在网上找了一个现成的工具:oracletomysql,它是只能为我们

    ORACLE-排序优化[归纳].pdf

    总的来说,Oracle的排序优化是一个综合考虑数据库设计、SQL编写、系统配置等多个因素的过程。深入理解排序的内部机制,结合实际业务场景进行调整,能够显著提升数据库的性能和响应速度。对于开发者和DBA来说,掌握...

    in和exists的区别

    在这个例子中,`EXISTS`后面跟着的子查询(`SELECT 1 FROM Table2 WHERE Table1.a = Table2.a`)就像一个关联查询,尽管看起来像`SELECT 1`可能有点奇怪,但这个数字在这里是无关紧要的,它只是一个占位符,表示任何...

    Oracle 多行记录合并/连接/聚合字符串的几种方法

    COUNTRY CITY ——————– ——————– 中国 台北 中国 香港 中国 上海 日本 东京 日本 大阪 要求得到如下结果集: ——- ——————– 中国 台北,香港,上海 日本 东京,大阪 实际就是对字符实现一个聚合...

    Oracle数据库使用sqlplus时的连接错误与方向键乱码解决

    解决这个问题,可以安装`libreadline5-dev`或`libreadline-dev`(取决于你的Ubuntu版本)库,这将提供一个更好的终端交互体验。 总结来说,解决Oracle数据库使用sqlplus时的连接问题和终端显示异常,通常需要检查和...

    解决sqlplus删除方向键等动作乱码.rar

    SQL*Plus是Oracle公司提供的一个命令行工具,用于执行SQL查询、脚本和PL/SQL程序。在命令行环境中,用户通常通过方向键进行历史命令的浏览和编辑,但当终端设置不正确或缺少必要的库时,这些操作可能会显示为奇怪的...

    一个多层架构多种数据库结合NHibernate和Ext.Net实现用户增删除改查的小例子

    本来想像petshop一样做多...3, 读取不到数据的情况下会提示不能编译HSRK.Model.UserInfo.hbm.xml 有时问题出的好奇怪,程序发布之后又出现了这个提示, 将hibernate.cfg.xml中的注销掉又加上突然又行了,真是莫名其妙

    一个多层架构多种数据库结合NHibernate和Ext.Net及Newtonsoft.Json实现用户增删除改查的小例子

    本来想像petshop一样做多...3, 读取不到数据的情况下会提示不能编译HSRK.Model.UserInfo.hbm.xml 有时问题出的好奇怪,程序发布之后又出现了这个提示, 将hibernate.cfg.xml中的注销掉又加上突然又行了,真是莫名其妙

    jdbc连接jar包.zip

    5. **处理结果**:对于查询语句,`executeQuery()`返回一个`ResultSet`对象,你可以遍历这个结果集以获取数据。对于更新操作,`executeUpdate()`将返回受影响的行数。 6. **关闭资源**:在操作完成后,记得关闭`...

Global site tag (gtag.js) - Google Analytics