内部結合/外部結合
サイン
すなわち、必要なデータを内部または外部から抽出することができる.
また、2つのテーブルを使用する場合は、サブクエリではなく結合条件が必要とされます.
結合の種類
そして具体的な形態によって一般結合,ANSI結合に分けられる.
述べる前に、ここではカタシア・ジョーンを説明しません.
まず原因を見てみましょう.カタシア・ジョーンはすべての状況を考えているからです.
すべての状況を考慮すると、実際のテーブルのロー数よりも多くのローが生成されます.
10行のAテーブルと/行300行のBテーブルを結合すると、2つのテーブルの関係で可能な行数10*300=3000になります.
私が欲しい行を確認するためにサインしましたが、3000のデータの中で私が欲しい情報を見つけるのは難しいです.
したがって、必要でない限り、結合条件は使用されません.したがって、ここでは説明を省略する.
1.内部結合
最も一般的な結合形式で、最も簡単で、最も簡単です.
2つのテーブルに共通するカラムの値が一致するローを接続することで、結果の結合を作成します.
結合するには、2つ以上のテーブルが必要です.
また、複数のテーブルを使用しているので、別名を使用すると便利です.
一般結合の使用例)
SELECT A.EMPLOYEE_ID AS 사원번호,
A.EMP_NAME AS 사원명,
B.DEPARTMENT_NAME AS 부서명,
A.HIRE_DATE AS 입사일
FROM HR.EMP A, HR.DEPT B
WHERE A.DEPARTMENT_ID = B.DEPARTMENT_ID AND EXTRACT(YEAR FROMA.HIRE_DATE) >= 2008
結合条件と一般条件の技術的順序はQueryの実行とは無関係である.ANSI結合の使用例)
SELECT A.EMPLOYEE_ID AS 사원번호,
A.EMP_NAME AS 사원명,
B.DEPARTMENT_NAME AS 부서명,
A.HIRE_DATE AS 입사일
FROM HR.EMP A
INNER JOIN HR.DEPT B ON(A.DEPARTMENT_ID=B.DEPARTMENT_ID
AND EXTRACT(YEAR FROM A.HIRE_DATE) >= 2008);
一般連結とは異なり、INNER JOIN,ON後の連結条件を説明するANDの後ろに一般的な条件が書かれているのが見えます.
2.外部結合
外部結合データ型がないテーブルにNULL行を追加し、結合演算を実行します.
これは、相互テーブル間の一致値で接続された内部結合とは異なり、あるテーブルに共通のカラム値がなくても、クエリ結果にこれらのROWが含まれ、結合条件では、ROWが不足しているカラム名の後に(+)が使用されることを意味する.
外部署名の注意事項
(+)を
SELECT A.LPROD_GU AS 분류코드,
A.LPROD_NM AS 분류명,
COUNT(PROD_ID) AS "상품의 수"
FROM LPROD A,PROD B
WHERE A.LPROD_GU = B.PROD_LGU(+)
ANSI結合の使用例) SELECT A.LPROD_GU AS 분류코드,
A.LPROD_NM AS 분류명,
COUNT(PROD_ID) AS "상품의 수"
FROM LPROD A
LEFT OUTER JOIN PROD B ON(A.LPROD_GU = B.PROD_LGU)
GROUP BY A.LPROD_GU, A.LPROD_NM;
ANSI結合は(+)を記録するのではなく、少ないテーブル順で方向を記録する.: FULL OUTER JOIN
: LEFT OUTER JOIN
: RIGHT OUTER JOIN
1つのテーブルに2つ以上の別名を追加することで、独自のテーブル間に結合を作成します.
つまり、自分と自分を結びつけた
主に自分の机が特殊な場合に使う.
SELF結合の使用例)
SELECT C.EMPLOYEE_ID AS 사원번호,
C.EMP_NAME AS 사원명,
C.DEPARTMENT_ID AS 부서번호,
B.DEPARTMENT_NAME AS 부서명,
C.SALARY AS 급여
FROM HR.EMP A, HR.DEPT B, HR.EMP C
WHERE A.EMPLOYEE_ID = 120--일반조건
AND A.SALARY <= C.SALARY--조인 조건
AND C.DEPARTMENT_ID = B.DEPARTMENT_ID--조인조건
ORDER BY 3, 5 DESC;
별칭 A 와 C 는 같은 테이블이다.
즉, A 테이블로 120번 사원을 조인하고 -> B부서와 같은 사람들과 전체 사원 중 같거나 더 많은 급여를 받는 사원을 찾는 Query이다.
<hr>
Reference
この問題について(内部結合/外部結合), 我々は、より多くの情報をここで見つけました https://velog.io/@sjsrkdgks/내부조인-외부조인テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol