INNER JOIN
테이블 조인
관계형 데이터베이스에서 데이터는 중복성을 최소화하고 데이터 무결성을 향상시키기 위해 여러 테이블로 자주 구성됩니다. 정규화라고 하는 이 디자인 접근 방식은 다른 위치에서 동일한 정보를 반복하지 않습니다. 그러나 이는 유용한 정보가 여러 테이블에 분산되는 경우가 많다는 것을 의미합니다.
조인은 이러한 격차를 해소하는 필수 SQL 작업이므로 둘 이상의 테이블에서 행을 결합하고 단일 통합 결과 집합에서 관련 데이터를 검색할 수 있습니다. 기본적으로 조인을 사용하면 논리적으로 연결되지만 물리적으로 구분된 정보를 쿼리할 수 있습니다. 테이블 간의 하나 이상의 공통 열에 있는 값을 기반으로 행을 식별하고 일치시켜 이 조합을 달성합니다. 이러한 공통 열은 종종 한 테이블의 기본 키와 다른 테이블의 외래 키 사이의 링크 역할을 하여 데이터베이스 스키마에 정의된 관계를 설정합니다.
참고: 기본 키는 테이블의 각 레코드에 대한 고유 식별자이므로 이 열에서 두 행의 값이 동일하지 않습니다. 반면 외래 키는 다른 테이블의 기본 키를 참조하는 한 테이블의 열이므로 두 테이블을 연결합니다.
조인(INNER, LEFT, RIGHT, FULL OUTER, NATURAL)에는 여러 가지 '유형'이 있으며, 각각은 테이블을 약간 다른 방식으로 결합하도록 설계되었습니다. 조인된 테이블에 일치하는 값이 있는지 여부에 따라 결과 집합에 포함되는 행을 제어할 수 있습니다.
INNER JOIN
가장 INNER JOIN 일반적으로 사용되는 SQL 조인 유형 중 하나입니다. 공유 열에서 일치하는 값을 지정하는 조건에 따라 여러 테이블의 행을 결합합니다.
작업을 수행할 INNER JOIN때 두 테이블의 조건을 충족하는 행만 결과 집합에 포함되어 일치하지 않는 모든 데이터를 효과적으로 필터링합니다. INNER JOIN 따라서 고객 주문 또는 직원 할당과 같이 테이블 간의 연결이 명시적으로 정의된 관련 정보를 검색하는 데 적합합니다.
SELECT orders.order_id, customers.customer_name, employees.first_name, employees.last_name
FROM sales.orders AS orders
INNER JOIN sales.customers AS customers ON orders.customer_id = customers.customer_id
INNER JOIN sales.employees AS employees ON orders.employee_id = employees.employee_id;
제공된 쿼리는 여러 INNER JOIN 작업을 사용하여 orders, customers, 및 employees에 대한 세부 사항이 포함된 통합된 결과 집합을 검색합니다.
customer_id을(를) orders 테이블에서 해당하는 customer_id을(를) customers 테이블과 일치시키고, employee_id을(를) orders 테이블에서 employee_id을(를) employees 테이블과 일치시킵니다. 결과적으로 쿼리는 관련된 고객 및 직원의 이름과 함께 각 주문의 ID를 출력합니다.