sqlite join 예제

외부 조인은 해당 행이 WHERE 또는 있는 검색 조건을 충족하는 한 FROM 절에 언급된 테이블 또는 뷰 중 하나 이상의 모든 행을 반환합니다. 내부 조인은 결합할 열의 값을 비교 연산자로 비교하는 조인입니다. SQL 표준에서 내부 조인은 FROM 또는 WHERE 절로 지정할 수 있습니다. 예를 들어 첫 번째 테이블(colA)에서 열을 선택하고 두 번째 테이블(colB)에서 다른 열을 선택한 경우입니다. colA에는 두 개의 값(1,2)이 포함되고 colB에는 두 값(3,4)도 포함됩니다. 다음 예제에서는 “LEFT JOIN”을 시도하여 두 테이블 “학생” 및 “부서”를 조인합니다. ID(doctor_id)가 두 테이블에 모두 나타나지 않으면 ON 절의 조건이 실패하기 때문에 행이 결과에 나타나지 않습니다. 그 의사만 누구의 학위 ID MD가입에 참여합니다. 왼쪽 조인 또는 왼쪽 외부 조인 작업은 A와 B라는 두 개의 구속조건을 취하고 A와 B의 내부 조인을 일치하지 않는 A 행과 함께 반환합니다. A는 FROM 절에 정의된 첫 번째 관계이므로 왼쪽 관계입니다. 왼쪽 조인에는 결과에서 일치하는 열과 함께 왼쪽 관계의 일치하지 않는 행이 포함됩니다.

다음 SQLite 문은 의사 ID, 의사 이름, 의사 학위 및 학위 MD를 보유하고 등록 된 ID 210을 보유하지 않는 해당 의사의 환자 이름에 합류합니다. 별칭이 열 이름을 참조하는 데 사용되었습니다. INNER JOIN은 의사 테이블의 doctor_id가 방문 테이블에도 존재해야 한다는 조건에 따라 수행됩니다. NATURAL 키워드가 조인 연산자에 있으면 암시적 USING 절이 조인 제약 조건에 추가됩니다. 암시적 USING 절에는 왼쪽 및 오른쪽 입력 데이터 집합에 나타나는 각 열 이름이 포함됩니다. 왼쪽 및 오른쪽 입력 데이터 집합에 공통 열 이름이 없는 경우 NATURAL 키워드는 조인 결과에 영향을 주지 않습니다. USING 또는 ON 절은 NATURAL 키워드를 지정하는 조인에 추가되지 않을 수 있습니다. CROSS JOIN은 첫 번째 테이블의 모든 값을 두 번째 테이블의 모든 값과 일치시켜 두 개의 조인된 테이블의 선택된 열에 대해 카르테시안 제품을 제공합니다. 다음 예제에서는 두 테이블 “학생” 및 “부서”를 DepartmentId와 함께 조인하여 각 학생의 부서 이름을 다음과 같이 가져옵니다. 앨범 테이블의 관련 레코드입니다.