> 데이터 베이스 > MySQL 튜토리얼 > mysql에서 전체 조인...on...을 사용하는 방법

mysql에서 전체 조인...on...을 사용하는 방법

王林
풀어 주다: 2023-05-26 17:52:47
앞으로
2998명이 탐색했습니다.

    mysql에서 전체 조인...on... 사용

    대부분의 개발자는 내가 어떻게 작성하든 내 SQL 문이 왜 잘못된지 혼란스러워할 수 있습니다.

    …의 전체 조인은 mysql 데이터베이스를 지원하지 않고 Oracle 데이터베이스만 지원하므로 매우 간단합니다.

    더 이상 고민하지 않고 바로 예를 들어보겠습니다.

    select a.* FROM
        (select
        table1.*,table2.*
        from table1 left JOIN table2 on table1.id=table2 .tid <-- 用左外连接 -->
        UNION <-- 通过UNION来链接 -->
        select
        table1.*,table2.*
        from table1 right JOIN table2 on table1.id=table2 .tid) as a <-- 用右外连接 -->
        where 
        a.id = #{id} <-- 如果要根据条件查询,必须要把上面括号里的当做子查询,条件必须写在外面 -->
        ORDER BY id <-- 其它操作跟在后面 -->
    로그인 후 복사

    아주 간단해 보이지는 않지만, 초보자에게는 오랜 시간 동안 어려움을 겪을 수 있으므로 여기에서 마치겠습니다.

    mysql의 조인 연결 유형은 무엇입니까?

    어떤 종류의 조인이 있나요?

    (1) 내부 조인

    select * from user1 a INNER JOIN user2 b on a.id=b.id
    로그인 후 복사

    INNER JOIN 내부 조인은 두 테이블의 교차점을 보여줍니다. 즉, 얻은 것은 쿼리 조건(위의 a.id)입니다. sql문) =b.id) 정보입니다.

    (2) JOIN 연결의 Left Join/Left Outer Join (LEFT JOIN/LEFT OUTER JOIN)

    select * from user1 a LEFT JOIN user2 b on a.id=b.id
    로그인 후 복사

    Left 조인은 왼쪽 테이블의 모든 정보와 쿼리 조건(예: .id 위) =b.id, 즉 관련 질의 조건을 만족하는 왼쪽과 오른쪽 테이블의 정보) 두 부분으로 나뉜다.

    (3) JOIN 연결의 RIGHT JOIN/RIGHT OUTER JOIN

    select * from user1 a RIGHTJOIN user2 b on a.id=b.id
    로그인 후 복사

    오른쪽 조인은 RIGHT JOIN 오른쪽에 있는 오른쪽 테이블의 모든 정보와 관련 쿼리 조건을 만족하는 왼쪽 및 오른쪽 정보를 쿼리합니다( 이것이 위의 a.id=b.id 조건입니다.

    (4) 완전 조인(full Join …on…)<오라클 데이터베이스는 완전 조인을 지원하고, mysql은 완전 조인을 지원하지 않지만 왼쪽 외부 조인 + 유니온 + 오른쪽 외부 조인을 통해 달성할 수 있습니다>

    select * from user1 a FULL JOIN user2 b on a.id=b.id
    로그인 후 복사

    full 외부 조인은 실제로 왼쪽 조인과 오른쪽 조인의 집합입니다. 즉, 왼쪽 테이블과 오른쪽 테이블의 모든 데이터를 쿼리한다는 의미입니다.

    (5) 교차 조인(cross Join...)

    select * from user1 a CROSS JOIN user2 b on a.id=b.id
    로그인 후 복사

    교차 조인은 데카르트 곱이라고도 하며, 쿼리에서 반환되는 행 수는 두 테이블의 행 수를 곱한 것과 같습니다. .

    위 내용은 mysql에서 전체 조인...on...을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:yisu.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿