通过DBLINK查询出现的问题_czw333的博客-程序员秘密

技术标签: 数据库  SQL  

select t1.rolename
    from (select * from [email protected]) t1,
         (select * from [email protected]) t2
   where t1.rolename = t2.username(+)
     and t2.username is null;

 

select t1.rolename
    from [email protected] t1,
         [email protected] t2
   where t1.rolename = t2.username(+)
     and t2.username is null;

 大家看看这两个SQL有没有问题? 结果是否应该一样?

 实际这两个SQL出来的结果是不一样的,但我不明白其中的道理,有哪位朋友明白,请给解释下:)

第一个SQL还有一个诡异的现象,如果我在查询列表中加上一列t2.username时,结果也是正确的。

 

我又通过left join方式进行测试,没有发现问题。 所以可以断定是外连接+DBLINK双重原因引起的问题,但是原理不明白。 (后来经朋友指点查看了各种查询方式的执行计划,发现确实第一种写法是有问题的,可能算是dblink的一个BUG)

 select t1.rolename
   from (select * from [email protected]) t1
   left join (select * from [email protected]) t2 on t1.rolename =
                                                           t2.username(+)
  where t2.username is null;

 

select t1.rolename
   from [email protected] t1
   left join [email protected] t2 on t1.rolename = t2.username(+)
  where t2.username is null;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/czw333/article/details/83872595

智能推荐

关于python爬虫爬取数据出现乱码问题解决_随遇而安..的博客-程序员秘密_爬取的数据是乱码

1、必须首先查看网页源代码里的head头部说明标签(以飞卢小说网,起点小说网为例)飞卢小说:起点小说:很明显,起点小说的utf-8,gbk和iso都是可以走寻常道路的,都可以参照以下代码:代码1 try: r = requests.get(url) r.status_code r.encoding = r.apparent_encodi...

BZOJ 3000 Big Number 数学算法_PoPoQQQ的博客-程序员秘密

题目大意:求n!在k进制下的位数即Stirling公式:数据范围小就暴力,数据范围大套用Stirling公式注意先利用log来避免数字过大而失精 最后答案要开long long#include #include #include #include #include using namespace std;const double pi=acos(-1.0),e=ex

NetCore3.1——Autofac基础之配置、注册类、切面(一)_石头@很想你~的博客-程序员秘密

1,添加所需类库using Autofac;using Autofac.Extensions.DependencyInjection;using Autofac.Extras.DynamicProxy;2,添加应用层代码public class Program{ public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args)

java复习_love398146779的博客-程序员秘密

1. 关于动态加载机制??学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点,所谓的动态加载机制等等。当然概念往往是先记住而后消化的,可有多少人真正去体会过动态加载的机制,试图去寻找过其中的细节呢? 提供大家一个方法:在命令行窗口运行Java程序的时候,加上这个很有用的参数:java ?verbose *.class这样会清...

Android官方ORM数据库Room技术解决方案简介(一)_zhangphil的博客-程序员秘密

是时候该忘记Android SQLite了!Android官方ORM数据库Room技术解决方案简介(一)Android的Romm是Android官方整合出来的一揽子ORM数据库解决方案。Android Room和历史上的ORM数据库如Android ORMLite(见附录文章1,2),Android greenDao等等,有诸多相同的设计思想和理念,但Android Room同时吸收众家ORM数据

MODBUS协议剖析 【MODBUS协议在STM32上实现 - 上】_CodeAllen嵌入式编程的博客-程序员秘密

原文首发地址:https://blog.csdn.net/super828/article/details/83662945#comments参考资料:获取资料加QQ群 7363863241.Modbus通信协议.pdf2.Modbus调试精灵1.024.rar3.主机源码.rar4.育灵科技视频第一节 通讯的硬件协议机制 主从模式的建立目的:实现在mo...

随便推点

org.codehaus.jackson.type.JavaType.isMapLikeType() 解决_阿冷巴的博客-程序员秘密

 nested exception is java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.isMapLikeType()这个问题是 jackson 包版本和你现在的环境不支持。解决办法:一:jackson  各种类型的包版本号最好一致,在不同的环境上回冲突(改天细讲)二:jackson  jar包主要是json转换实体...

C语言基础006_BriskLyer的博客-程序员秘密

结构体结构体类型的定义:结构体是由C语言中的基本数据类型构成的、并用一个标识符来命名的各种变量的组合,其中可以使用不同的数据类型。结构体类型的定义Struct结构体名{ 类型标识符1 成员名1;类型标识符2 成员名2;……类型标识符n 成员名n;};Struct结构体名——结构体类型名关于结构体类型的说明:(1)“struct 结构体名”是一个类型名,它和

Windows 8管理员权限的运用_weixin_34132768的博客-程序员秘密

为什么80%的码农都做不了架构师?>>> ...

jfrog Received status code 401 from server: Unauthorized_mldxs的博客-程序员秘密

使用JFrog的maven库是,拉取pom文件出现,Received status code 401 from server: Unauthorized。由于后台配置的原因导致。打开jfrog后台,进入设置界面,Administration -> Security -> Settings , 选中Allow Anonymous Access,然后点击保存。...

python+opencv入门-动手实现人脸检测_行走在路上的HOU的博客-程序员秘密

python+opencv入门-动手实现人脸检测任务描述本关任务:利用 openCV 对图片进行相应的处理。相关知识为了完成本关任务,你需要掌握:1 . 人脸检测。2 . 如何利用 openCV 实现人脸检测。人脸检测在上一关,我们已经知道如何去检测图片中人物的性别。然而,在真实项目中,我们不仅仅是需要知道图片中人物的性别,有时候还需要将图片中人脸的位置检测出来。如上图,我们用一个方框将人脸部分给划分出来,人脸检测就是需要找出这个方框的正确位置。需要将检测框位置确定下来需要知道四个参数:

AngularJS核心特性——模块化_chengqiuming的博客-程序员秘密

一 点睛AngularJS为了分离代码达到复用效果,提供了一个module。定义模块需要使用下面的代码。无依赖模块:angular.module("firstModule", []);有依赖模块:angular.module("firstModule", ["moduleA","moduleB"]);模块中控制器的定义方法:angular.module("...

推荐文章

热门文章

相关标签