加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

sql – 怎样行使带有过滤器where子句的oracle外毗连

发布时间:2021-03-31 20:43:29 所属栏目:编程 来源:网络整理
导读:假如我写一个SQL: select * from a,b where a.id=b.id(+) and b.val="test" 而且我但愿b中响应记录地址的全部记录都不存在可能存在val =“test”,这是正确的查询吗? 办理要领 行使ANSI语法会好得多 SELECT * FROM a LEFT OUTER JOIN b ON( a.id = b.id and

假如我写一个SQL:

select * 
from a,b 
where     a.id=b.id(+) 
      and b.val="test"

而且我但愿b中响应记录地址的全部记录都不存在可能存在val =“test”,这是正确的查询吗?

办理要领

行使ANSI语法会好得多
SELECT *
  FROM a
       LEFT OUTER JOIN b ON( a.id = b.id and
                             b.val = 'test' )

您也可以行使Oracle的语法执行沟通的操纵,但它有点求助

SELECT *
  FROM a,b
 WHERE a.id = b.id(+)
   AND b.val(+) = 'test'

请留意,在这两种环境下,我都忽略了c表,由于您没有指定毗连前提.并且我假设你真的不想插手A到B然后用C天生笛卡尔积.

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读