Computer >> 컴퓨터 >  >> 프로그램 작성 >> SQL

SQL INNER JOIN:완전한 가이드

SQL INNER JOIN 문은 두 테이블의 두 열에 정확한 값이 있는 행을 반환합니다. 하나 이상의 열에 걸쳐 테이블을 조인할 수 있습니다. JOIN 문은 두 개의 데이터베이스 테이블을 연결하고 그 내용을 비교합니다.

두 개 이상의 테이블에서 동시에 데이터를 가져와 결과를 결합하려는 경우가 있을 수 있습니다.

예를 들어, 제품 목록과 해당 제품을 공급한 공급업체의 이름을 얻을 수 있습니다. 제품 이름 및 공급업체 이름에 대한 정보는 두 개의 테이블에 있습니다.

SQL 조인이 들어옵니다. join을 사용하여 조건에 따라 여러 테이블의 정보를 하나의 결과 집합으로 결합할 수 있습니다. SQL INNER JOIN은 두 테이블의 열 값이 일치하는 레코드를 반환하는 조인 유형입니다. 이 튜토리얼에서는 INNER JOIN을 사용하는 방법에 대해 논의할 것입니다.

SQL 내부 조인

SQL INNER JOIN은 지정된 두 테이블에 나타나는 열 값이 있는 모든 레코드를 검색합니다. INNER JOIN 문은 ON 키워드를 사용하여 두 테이블의 데이터를 일치시킵니다.

내부 조인 SQL 조인의 가장 일반적인 유형입니다. . 연산자는 두 테이블 모두에서 일치하는 레코드를 반환합니다.

INNER JOIN 구문을 살펴보겠습니다. 키워드:

이름 선택

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

고객으로부터

INNER JOIN 계획

ON 고객.plan_id =계획.id;

이 쿼리는 "customers" 및 "plans" 테이블의 행을 결합합니다. "plan_id"가 "plan_id"와 동일한 "plan_id" 테이블의 모든 고객 목록을 반환합니다.

INNER JOIN 절을 사용하여 테이블을 조인합니다. ON 키워드는 우리가 조인하는 테이블 이름 뒤에 옵니다. ON 키워드 뒤에 쉼표로 구분하여 여러 조건을 지정할 수 있습니다.

INNER JOIN SQL 예제

현재 직원에 각 직원의 부서 ID를 저장하는 직원 데이터베이스가 있습니다. 테이블. SQL CREATE TABLE 문으로 이 테이블을 만들었습니다. 부서 이름은 company_departments라는 별도의 테이블에 저장됩니다. .

다음은 직원입니다. 표:

직원
이름 제목 부서 ID
루크
영업 사원 1
마이크 영업 사원 1
한나 영업 사원 1
제프 시니어 영업 직원 1
알렉시스 영업 사원 1
요나 영업 부사장 3
엠마 마케팅 이사 2

(7줄)

다음은 부서 테이블입니다:

회사_부서
부서 ID 이름
1 판매
2 마케팅
3 임원

(3줄)

모든 직원의 이름, 직위, 부서 이름을 얻고 싶다고 가정해 봅시다. 이 데이터는 두 개의 테이블에 포함되어 있습니다. 직원 이름과 직위는 직원 테이블. 부서 이름은 company_departments에 있습니다. 표.

찾고 있는 정보는 어떻게 얻습니까?

직원 테이블에 department_id라는 열이 있습니다. . 이 열에는 각 직원이 근무하는 부서의 ID가 있습니다.

company_departments 테이블에서 각 부서에는 ID(테이블의 기본 키)도 있습니다. 이는 직원의 department_id와 일치시킬 수 있음을 의미합니다. 부서 목록과 함께. 그렇게 하면 해당 직원이 근무하는 부서의 이름을 알 수 있습니다.

직원의 이름, 직위, 근무하는 부서 이름을 검색하는 쿼리를 작성해 보겠습니다.

SELECT Employees.Name, Employees.Title, Company_Departments.Name
FROM Employees
INNER JOIN Company_Departments
ON Employees.Department_ID = Company_Departments.Department_ID;

쿼리는 다음과 일치하는 행을 반환합니다.

이름 제목 이름
알렉시스 영업 사원 판매
제프 시니어 영업 직원 판매
한나 영업 사원 판매
마이크 영업 사원 판매
루크 영업 사원 판매
엠마 마케팅 이사 마케팅
요나 영업 부사장 임원

첫 번째 줄에서 데이터베이스에 직원으로부터 직원의 이름과 직위를 가져오도록 지시합니다. 테이블. company_departments에서 회사 부서의 이름도 검색합니다. 표.

두 번째 줄에서는 직원으로부터 직원 정보를 가져오도록 지정합니다. 테이블. 다음으로 INNER JOIN을 사용합니다. 직원을 연결하기 위해 company_departments가 있는 테이블 부서 이름이 포함된 표입니다.

마지막으로, 우리의 마지막 줄은 직원회사_부서 공통 필드(이 경우 department_id)별로 함께 테이블 .

결론

SQL INNER JOIN 문은 두 테이블에서 일치하는 두 열 값이 있는 레코드를 검색합니다. ON 문을 사용하면 내부 조인이 실행되는 조건을 지정할 수 있습니다.

조인을 마스터하는 것은 SQL 쿼리의 중요한 부분입니다. 데이터베이스에 대한 이해를 바탕으로 SQL 전문가.

여러분과 같은 학습자가 SQL을 마스터할 수 있도록 SQL 학습 방법 가이드를 작성했습니다. 이 가이드에는 최고의 학습 리소스 및 과정 목록과 SQL 학습 방법에 대한 조언이 포함되어 있습니다. SQL 학습 방법 페이지에서 가이드를 확인하세요.