>  기사  >  데이터 베이스  >  MySQL에서 전체 외부 연결을 구현하는 방법

MySQL에서 전체 외부 연결을 구현하는 방법

PHPz
PHPz앞으로
2023-05-31 08:37:552496검색

    MySql의 다중 테이블 쿼리는 내부 조인, 왼쪽 외부 조인 및 오른쪽 외부 조인만 제공합니다.

    table_reference {[INNER] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr

    1]INNER JOIN ON 내부 조인(조인만 작성할 경우 기본값은 내부 조인)

    SELECT * FROM emp e JOIN dept d ON e.deptno=d.deptno;

    MySQL에서 전체 외부 연결을 구현하는 방법

    2]외부 조인

    왼쪽 외부 조인과 오른쪽 외부 조인 모두 하나의 테이블이 기본 테이블로 사용되며, 테이블의 모든 내용이 표시되고 두 테이블의 일치하는 내용이 추가됩니다.

    기본 테이블의 데이터가 다른 테이블에 기록되지 않는 경우.

    그러면 해당 열은 연결된 결과 집합 행에 NULL로 나타납니다.

    2.1. 왼쪽 외부 조인: 왼쪽 테이블의 모든 레코드 표시

    SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno;

    MySQL에서 전체 외부 연결을 구현하는 방법

    2.2. 오른쪽 외부 조인: 오른쪽 테이블의 모든 레코드 표시

    SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;

    MySQL에서 전체 외부 연결을 구현하는 방법

    2.3. 오른쪽 테이블 제한이 없으며 모든 레코드가 표시되며 두 테이블의 부족한 부분은 null로 채워집니다.

    즉:

      왼쪽 외부 조인 = 왼쪽 테이블의 모든 레코드 + 관련 결과
    • 오른쪽 외부 조인 = 오른쪽 테이블의 모든 레코드 + 연관 결과
    • 완전 외부 조인 = 왼쪽 테이블의 모든 레코드 + 오른쪽 테이블의 모든 레코드 + 연관 결과 = 왼쪽 외부 조인 + 오른쪽 외부 조인 - 연관 결과 ( 즉, 중복 제거)
    • 그렇다면 MYSQL에서는 누가 이 작업을 수행할 수 있나요?

    UNION

    UNION 연산자는 둘 이상의 SELECT 문의 결과 집합을 병합하는 데 사용됩니다.

    참고: 기본적으로 UNION 연산자는 다른 값을 선택합니다. 중복값이 허용된다면 UNION ALL을 사용하세요.

    따라서 완전 외부 조인을 구현하려면 다음을 사용할 수 있습니다.

    SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno
    UNION
    SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;

    MySQL에서 전체 외부 연결을 구현하는 방법참고: 위의 연결은 모두 Oracle에서 동등한 조인입니다. 완전 외부 조인에 완전 조인을 사용할 수 있습니다.

    위 내용은 MySQL에서 전체 외부 연결을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제