sql >> データベース >  >> RDS >> Oracle

oracle結合構文の例

    Oracleには、内部結合、左外部結合、右外部結合、完全外部結合、相互結合など、さまざまな結合があります。このSQLチュートリアルでは、それぞれのOracle結合構文と例を示します

    内部結合の構文と例
    2つの表の例と構文

    SELECT EMP.EMPNO、EMP.ENAME、DEPT.DEPTNO、DEPT.DNAME
    FROM EMP、DEPT
    whereEMP。 DEPTNO=DEPT。 DEPTNO;

    または

    ANSI構文

    EMPでEMP.EMPNO、EMP.ENAME、DEPT.DEPTNO、DEPT.DNAME
    FROM EMP INNER JOIN DEPT
    を選択します。 DEPTNO=DEPT。 DEPTNO;

    または

    SELECT EMP.EMPNO、EMP.ENAME、DEPT.DEPTNO、DEPT.DNAME
    FROM EMP INNER JOIN DEPT
    using(DEPTNO);

    複数のテーブルの内部結合の例

    SELECT EMP.EMPNO、EMP.ENAME、DEPT.DEPTNO、DEPT.DNAME、REGION.REGION_NAME
    FROM EMP、DEPT、REGION
    whereEMP。 DEPTNO=DEPT。 DEPTNO

    およびDEPT.REGION_ID=REGION.REGION_NAME;

    または

    SELECT EMP.EMPNO、EMP.ENAME、DEPT.DEPTNO、DEPT.DNAME、REGION.REGION_NAME
    FROM EMP
    内部結合DEPTonEMP。 DEPTNO=DEPT。 DEPTNO
    内部はDEPT.REGION_ID=REGION.REGION_NAME;

    でREGIONに参加します

    または
    SELECTEMP.EMPNO、EMP.ENAME、DEPT.DEPTNO、DEPT.DNAME、REGION.REGION_NAME
    FROM EMP internal join DEPT using(DEPTNO)
    internal join REGION using(REGION_ID);

    クロスジョインの構文と例

    SELECT EMPNO、ENAME、DEPT.DEPTNO、DNAME FROM EMP、DEPT;
    または
    SELECT EMPNO、ENAME、DEPT.DEPTNO、DNAME FROM EMP cross join DEPT;

    左外部結合の構文と例

    empno、ename、emp.deptno、dname
    from emp
    LEFT OUTER JOIN dept
    on emp.deptno =dept.deptno;

    を選択します。
    • 署名構文

    select empno、ename、emp.deptno、dname
    from emp、dept where emp.deptno =dept.deptno(+);

    • NULLが予想される側にあり、右側にあります

    右外部結合の構文と例

    empno、ename、dept.deptno、dname
    from emp
    right OUTER JOIN dept
    on emp.deptno =dept.deptno;

    を選択します。
    • 署名構文

    empno、ename、dept.deptno、dname
    from emp、dept where emp.deptno(+)=dept.deptno;

    を選択します。
    • NULLが予想される側にあり、左側にあります

    完全な外部結合の構文と例

    select empno,ename,dept.deptno,dname
    from emp
    full OUTER JOIN dept
    on emp.deptno=dept.deptno;

    関連記事

    Oracle結合
    Oracleでのネストされたループ結合
    Oracleでのさまざまな結合方法
    Oracleでのハッシュ結合


    1. 2011年春のPostgreSQLカンファレンス、米国/カナダ

    2. PostgreSQLのJOINメソッドの概要

    3. MariaDBでのMICROSECOND()の動作

    4. SQLServerの列で数値以外の値を検索する