Главная Новости Галерея Вопросы Библиотека Контакты

mssql join 예제

조인은 INNER 또는 OUTER 조인이라고 할 수 있으며 관련된 두 테이블을 왼쪽 및 오른쪽이라고 합니다. 이 두 개념을 결합하면 접합 토지에서 다양한 유형의 결합을 얻을 수 있습니다: 내부, 왼쪽 외부, 오른쪽 바깥쪽 및 전체 외부 조인. 조인되는 테이블의 열에 null 값이 있으면 null 값이 서로 일치하지 않습니다. 조인되는 테이블 중 하나에서 열에 null 값의 존재는 외부 조인을 사용 하 여 반환할 수 있습니다 (WHERE 절 null 값을 제외 하지 않는 한). 크고 작은 조인 입력 스캔 사이에 진동이 빈번한 워크로드는 이 기능의 이점을 가장 잘 활용할 수 있습니다. 단일 쿼리에서 여러 테이블을 참조하는 경우 모든 열 참조가 명확해야 합니다. 이전 예제에서 ProductVendor 및 공급업체 테이블에는 BusinessEntityID라는 열이 있습니다. 쿼리에서 참조되는 두 개 이상의 테이블 간에 중복되는 모든 열 이름은 테이블 이름으로 한정되어야 합니다. 예제의 공급업체 열에 대한 모든 참조는 한정되어 있습니다. 특정 고객이 주문한 모든 주문을 찾으려고 한다고 가정해 보겠습니다. customer_id 키에 의해 설정된 관계를 사용하여 고객을 조인하고 테이블을 함께 주문할 수 있습니다: 조인을 사용하는 대부분의 쿼리는 하위 쿼리(다른 쿼리 내에 중첩된 쿼리)를 사용하여 다시 작성할 수 있으며 대부분의 하위 쿼리는 다음과 같이 다시 작성할 수 있습니다. 조인.

하위 쿼리에 대한 자세한 내용은 하위 쿼리를 참조하십시오. 이 문서에서는 SQL Join에 대한 개요를 제공하고 내부, 자체, 교차 및 외부를 포함한 모든 SQL 조인 형식을 다룹니다. 내부 조인에 대 한 우리는 Equi와 세타 조인을 논의 거 야. 중첩 루프 조인은 외부 입력이 작고 내부 입력이 미리 인덱싱되고 큰 경우 특히 효과적입니다. 작은 행 집합에만 영향을 미치는 트랜잭션과 같은 많은 작은 트랜잭션에서 인덱스 중첩 루프 조인은 병합 조인과 해시 조인 모두에 우수합니다. 그러나 큰 쿼리에서는 중첩된 루프 조인이 최적의 선택이 아닌 경우가 많습니다. 이것은 좋은 예와 함께 많은 학습 수업입니다…. Thankxxx 이 게시물에서는 명확한 SQL 예제를 사용하여 조인의 모든 주요 유형을 수행하는 방법을 보여 드리겠습니다.

예제는 Microsoft SQL Server용으로 작성되지만 오라클, MySQL 및 기타 데이터베이스에서 매우 유사한 구문이 사용됩니다. 다음 섹션에서는 다양한 유형의 해시 조인( 메모리 내 해시 조인, 유예 해시 조인 및 재귀 해시 조인)을 설명합니다. join_type은 내부, 외부 또는 교차 조인과 같은 수행되는 조인 종류를 지정합니다. join_condition는 결합된 각 행 쌍에 대해 평가할 술어를 정의합니다. 다음은 FROM 조인 사양의 예입니다. 행이 테이블 중 하나에 일치하지 않으면 필드에 null 값이 표시됩니다. 전체 SQL 외부 조인은 SQL 왼쪽 조인과 SQL 오른쪽 조인의 효과를 결합합니다. 대부분의 데이터베이스는 전체 SQL 외부 조인의 구현을 지원하지 않습니다 이 예에서는 order_id가 주문 테이블의 기본 키이며 customer_id는 고객 테이블의 기본 키이자 주문 테이블의 외래 키입니다. 기본 키와 외래 키는 테이블 간의 관계를 설명하고 SQL 조인을 수행하는 데 필수적입니다. 쿼리에 사용된 두 개 이상의 테이블에서 열 이름이 중복되지 않으면 이에 대한 참조가 테이블 이름으로 정규화될 필요는 없습니다. 이는 이전 예제에 나와 있습니다. 이러한 SELECT 문은 각 열을 제공한 테이블을 나타낼 수 없기 때문에 이해하기 어려운 경우가 있습니다.

모든 열에 테이블 이름으로 한정된 경우 쿼리의 가독성이 향상됩니다. 테이블 별칭을 사용하는 경우, 특히 테이블 이름 자체에 데이터베이스 및 소유자 이름으로 정규화해야 하는 경우 가독성이 더욱 향상됩니다.