SQL INNER JOIN (한국어)

요약 :이 자습서에서는 SQL INNER JOIN 문을 사용하여 여러 테이블에서 데이터를 쿼리하는 방법을 배웁니다.

이전 자습서에서는 SELECT 문을 사용하여 단일 테이블에서 데이터를 쿼리하는 방법을 배웠습니다. 그러나 분석을위한 완전한 결과 세트를 갖기 위해 여러 테이블의 데이터를 쿼리하려는 경우가 많습니다. 여러 테이블에서 데이터를 쿼리하려면 조인 문을 사용합니다.

SQL은 내부 조인, 외부 조인 (왼쪽 외부 조인 또는 왼쪽 조인, 오른쪽 외부 조인 또는 오른쪽 조인, 완전 외부 조인)과 같은 여러 유형의 조인을 제공합니다. ) 및 자체 조인. 이 튜토리얼에서는 INNER JOIN 절을 사용하는 방법을 보여줍니다.

SQL INNER JOIN 구문

다음은

구문 :

1
2
3
4
5

선택
column1, column2
FROM
table_1
INNER JOIN table_2 ON join_condition;

위의 구문을 자세히 살펴 보겠습니다.

  • table_1table_2를 조인 테이블이라고합니다.
  • 각 행에 대해 table_1에서 쿼리는 table_2에서 조인 조건을 충족하는 해당 행을 찾습니다. 해당 행이 발견되면 쿼리는 두 테이블의 데이터를 포함하는 행을 반환합니다. 그렇지 않으면 table_1의 다음 행을 검사하고 table_1의 모든 행을 검사 할 때까지이 프로세스가 계속됩니다.

두 개 이상의 테이블을 결합하는 경우 동일한 논리가 적용됩니다.

SQL INNER JOIN 예

SQL INNER JOIN – 두 테이블에서 데이터 쿼리

이 예에서는 샘플 데이터베이스의 productscategories 테이블을 사용합니다. 다음 그림은 데이터베이스 다이어그램을 보여줍니다.

위 다이어그램에서 :

  • 한 카테고리에 여러 제품이있을 수 있습니다.
  • 하나의 제품은 하나의 카테고리에만 속합니다.

따라서 테이블과 products 테이블의 행. 두 테이블 간의 링크는 categoryid 열입니다.

두 테이블에서 다음 데이터를 쿼리해야합니다.

  • products 테이블의 productID, productName.
  • iv categories 테이블의 id = “b32d50b7b9″>

.

다음 쿼리는 두 테이블 모두에서 데이터를 검색합니다.

1
2
3
4
5
6

SELECT
productID, productName, categoryName
FROM
제품
INNER JOIN
categories ON categories.categoryID = products.categoryID;

조인 조건은 표현식으로 ON 키워드 뒤의 INNER JOIN 절에 지정됩니다.

1

categories.categoryID = products.categoryID

products 테이블에서 쿼리는 categories 테이블에서 동일한 categoryid. 두 행 사이에 일치하는 항목이있는 경우 해당 행을 찾습니다. 두 테이블 모두 SELECT 절에 지정된 열 (예 : 제품 ID, 제품 이름 및 범주 이름)을 포함하는 행을 반환합니다. 그렇지 않으면 products 테이블의 다음 행을 확인하여 categories 테이블에서 일치하는 행을 찾습니다. 이 프로세스는 제품 테이블의 마지막 행이 검사 될 때까지 계속됩니다.

SQL INNER JOIN – 세 테이블에서 데이터 쿼리

3 개의 테이블을 조인하는 데 동일한 기술을 사용할 수 있습니다.다음 쿼리는 productID, productName, categoryNameproducts, categoriessuppliers 테이블 :

1
2
3
4
5
6
7
8
9
10
11

선택
productID,
productName,
categoryName,
companyName AS 공급자
FROM
제품
INNER JOIN
카테고리의 카테고리입니다. categoryID = products.categoryID
내부 가입
supplier.supplierID = products.supplierID

암시 적 SQL 내부 조인

아래에 표시된 것처럼 암시 적 내부 조인이라는 다른 형식의 INNER JOIN가 있습니다.

1
2
3
4
5
6
7

선택
column1, column2
FROM
table_1,
table_2
WHERE
join_condition;

이 양식에서는 모든 결합 된 테이블을 FROM 절과 SELECT 문의 WHERE 절에 조인 조건을 넣습니다. 다음과 같이 암시 적 INNER JOIN를 사용하여 위의 쿼리 예제를 다시 작성할 수 있습니다.

1
2
3
4
5
6
7

SELECT
productID, productName, categoryName
FROM
제품,
카테고리
WHERE
products.categoryID = categories.categoryID;

벤 다이어그램을 사용하여 내부 조인 시각화

Write a Comment

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다