【问题标题】:What is the use of + in oracle joinoracle join中的+有什么用
【发布时间】:2023-02-03 19:37:47
【问题描述】:

加入 oracle 时,+ 在列名后面签名是什么意思。

例子 :

select a,d,f,c
From table1, table 2
Where table1.x(+) = table2.y:

【问题讨论】:

    标签: oracle plsql


    【解决方案1】:

    那就是老的甲骨文的外连接操作员。

    老的:

    SQL>   SELECT d.deptno, d.dname, e.ename
      2      FROM dept d, emp e
      3     WHERE e.deptno (+) = d.deptno
      4  ORDER BY d.deptno, e.ename;
    
        DEPTNO DNAME          ENAME
    ---------- -------------- ----------
            10 ACCOUNTING     CLARK
            10 ACCOUNTING     KING
            10 ACCOUNTING     MILLER
            20 RESEARCH       ADAMS
            20 RESEARCH       FORD
            20 RESEARCH       JONES
            20 RESEARCH       SCOTT
            20 RESEARCH       SMITH
            30 SALES          ALLEN
            30 SALES          BLAKE
            30 SALES          JAMES
            30 SALES          MARTIN
            30 SALES          TURNER
            30 SALES          WARD
            40 OPERATIONS
    
    15 rows selected.
    

    如今,我们这样做

    SQL>   SELECT d.deptno, d.dname, e.ename
      2      FROM dept d LEFT JOIN emp e ON e.deptno = d.deptno
      3  ORDER BY d.deptno, e.ename;
    
        DEPTNO DNAME          ENAME
    ---------- -------------- ----------
            10 ACCOUNTING     CLARK
            10 ACCOUNTING     KING
            10 ACCOUNTING     MILLER
            20 RESEARCH       ADAMS
            20 RESEARCH       FORD
            20 RESEARCH       JONES
            20 RESEARCH       SCOTT
            20 RESEARCH       SMITH
            30 SALES          ALLEN
            30 SALES          BLAKE
            30 SALES          JAMES
            30 SALES          MARTIN
            30 SALES          TURNER
            30 SALES          WARD
            40 OPERATIONS
    
    15 rows selected.
    
    SQL>
    

    【讨论】:

      【解决方案2】:

      (+) 用于表示外部连接。它放置在表中可能缺少行的一侧。这是我从 Oracle 7 开始就知道的旧 Oracle 语法。目前,甚至 Oracle 也鼓励使用 ANSI 语法进行连接。

      【讨论】:

        猜你喜欢
        • 2013-03-31
        • 1970-01-01
        • 2014-02-07
        • 1970-01-01
        • 1970-01-01
        • 2010-09-07
        • 1970-01-01
        相关资源
        最近更新 更多