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

SQL 왼쪽 조인:완전한 가이드

SQL LEFT JOIN은 SQL 조인의 한 유형입니다. 이 조인은 지정된 "왼쪽" 열의 모든 테이블과 "오른쪽" 열의 특정 조건과 일치하는 해당 행을 반환합니다.

대부분의 경우 SQL에서 쿼리를 작성할 때 , 단일 테이블에만 집중하면 됩니다. 그러나 동시에 두 개 이상의 테이블을 쿼리해야 하는 상황이 많이 있습니다. 이 상황에서 두 테이블의 정보를 결합한 결과를 만들고 싶을 것입니다.

SQL에서 , 이를 조인이라고 합니다. 조인을 사용하면 여러 테이블에서 정보를 얻고 결과를 조인된 테이블로 결합할 수 있습니다. 예를 들어 직원과 부서 테이블을 함께 조인하여 각 직원의 부서 이름을 얻을 수 있습니다.

이 튜토리얼에서는 SQL의 조인 유형 중 한 가지를 분석할 것입니다. :LEFT JOIN . LEFT JOIN 위치에 대해 논의하겠습니다. 유용하고 SQL에서 사용하는 방법 쿼리.

SQL 왼쪽 조인

SQL LEFT JOIN 쿼리에 지정된 "왼쪽" 테이블의 모든 레코드를 반환합니다. 조건에 따라 이 테이블의 값을 "올바른" 테이블과 일치시킵니다. "왼쪽" 테이블의 모든 레코드와 함께 모든 일치 항목이 반환됩니다. _LEFT JOIN_s는 SQL 외부 조인 유형입니다.

예를 들어 왼쪽 조인을 사용하여 각 직원의 부서 이름 목록을 가져올 수 있습니다. 이렇게 하면 할당된 부서가 없더라도 모든 직원을 볼 수 있습니다.

LEFT JOIN의 기본 구문 작업은 다음과 같습니다.

SELECT Table1.Column1, Table2.Column1
FROM Table1
LEFT JOIN Table2
ON Table1.Column2 = Table1.Column2;

SQL SELECT 문으로 조인을 시작합니다. FROM 문의 테이블은 "왼쪽" 테이블입니다. 그런 다음 LEFT JOIN을 사용합니다. 예어. 이를 통해 "오른쪽" 테이블을 지정할 수 있습니다.

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

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

ON 문을 사용하여 테이블이 연결된 상태를 확인합니다. 레프트 조인 일종의 외부 조인입니다. 따라서 왼쪽 외부 조인이라고 하는 이러한 유형의 조인을 볼 수 있습니다. .

예를 들어 LEFT JOIN을 설명하겠습니다. 일하세요.

LEFT JOIN SQL 예제

각 직원이 일하는 부서 이름 목록을 얻고 싶다고 가정해 봅시다. 하나의 쿼리를 사용하여 이 정보를 검색하려고 합니다. 다음은 이 데이터를 얻을 수 있는 쿼리입니다.

SELECT employees.name, employees.title, company_departments.name AS DeptName
FROM employees
LEFT JOIN company_departments
ON employees.department_id = company_departments.department_id;

쿼리는 7개의 레코드를 반환합니다.

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

(7줄)

쿼리의 첫 번째 줄에서 세 개의 열을 가져오도록 지정합니다. 우리는 직원의 이름, 직함, 그리고 그들이 일하는 부서의 이름을 검색합니다. AS 부서명 부서 이름 열이 DeptName으로 명명되어야 함을 쿼리에 알려줍니다. .

다음 줄에서 직원으로부터 정보를 얻도록 지정합니다. 테이블. 그런 다음 LEFT JOIN을 만듭니다. 해당 테이블과 company_departments 사이 . 마지막 줄에서 공통 값인 Department_id를 사용하여 두 테이블을 연결합니다.

레프트 조인 조인 조건이 충족되는 왼쪽 테이블의 모든 행과 오른쪽 테이블의 행만 반환합니다.

부서 ID가 9인 직원이 있는 경우 해당 부서가 존재하지 않으면 쿼리에 계속 표시됩니다. 존재하지 않는 회사 부서가 있는 경우 JOIN에 표시되지 않습니다. 쿼리.

쿼리를 다시 실행해 보겠습니다. 이번에는 데이터베이스에 새 직원이 있는 경우입니다. 다음은 신입 직원의 가치입니다.

이름 제목 부서_id
아담 시니어 영업 직원 9

(1줄)

부서 ID 9 company_departments 테이블에 존재하지 않습니다. . 그러나 위와 동일한 왼쪽 조인 쿼리를 실행하면 LEFT JOIN을 사용하기 때문에 Adam의 레코드가 계속 포함됩니다. . 다음은 동일한 INNER JOIN의 결과입니다. 위에서 실행했지만 Adam의 레코드가 있는 쿼리:

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

결론

SQL LEFT JOIN 둘 이상의 테이블을 쿼리하고 지정된 "왼쪽" 테이블의 모든 행을 반환합니다. 또한 JOIN이 있는 오른쪽 테이블에서 행을 반환합니다. 조건이 충족됩니다.

예를 들어 고객 목록과 고객이 구독하는 로열티 플랜의 이름을 반환하고 싶다고 가정해 보겠습니다. 로열티 플랜 이름이 다른 테이블에 있는 경우 왼쪽 조인을 사용하여 검색할 수 있습니다.

학습자가 SQL에 대한 지식을 향상시키는 데 도움이 되도록 SQL 학습 방법 가이드를 작성했습니다. 이 가이드에는 최고의 학습 리소스 목록과 진행에 도움이 되는 몇 가지 전문가 조언이 포함되어 있습니다. SQL 학습 방법 페이지에서 가이드를 확인하세요.