【问题标题】:How to do a JOIN in Oracle SQL?如何在 Oracle SQL 中进行 JOIN?
【发布时间】:2015-11-09 17:53:53
【问题描述】:

我有两张桌子UsersUser_Org

  • 用户(user_id、名字、姓氏、active_ind、电子邮件)
  • User_Org (user_id, org_id)

我必须编写一个 Oracle SQL 查询,它应该返回 active_ind 为 1 且 User_org 中关联用户的 org_id 与给定 org_id 匹配的所有用户。

我试过了,还是不行

select *
from Users u
  join User_ORG  org        
where org.ORGANIZATION_ID = 12345 
  and Active_ind != 0;

【问题讨论】:

  • 是 != 的 SQL。除此之外,您没有加入条件
  • 请阅读手册以了解JOIN 运算符的正确语法:docs.oracle.com/database/121/SQLRF/…
  • @LoztInSpace:尽管!= 是非标准的,但它确实适用于 Oracle(以及几乎所有 DBMS)

标签: sql oracle select join


【解决方案1】:

您缺少joinon 子句。除此之外,如果您希望用户的 active_ind1,我会直接通过相等检查 (=) 声明,而不是通过不等式检查绕开它。

SELECT u.*
FROM  users u
JOIN  user_org org ON u.user_id = org.user_id
WHERE org.org_id = 12345 AND active_ind = 1

【讨论】:

  • @prashanth:别忘了接受这个答案。为此,请单击答案左侧的勾号,使其变为绿色。这就是我们在此处将问题标记为已完成的方式。
猜你喜欢
  • 1970-01-01
  • 2019-02-17
  • 2015-07-21
  • 2018-03-18
  • 2013-05-05
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多