데이터 가져 오기 여러 테이블에서?
SQL JOIN은 두 테이블의 레코드를 결합합니다.
JOIN은 두 테이블에서 관련 열 값을 찾습니다.
쿼리에는 0 개, 1 개 또는 여러 개의 JOIN 작업이 포함될 수 있습니다.
INNER JOIN은 JOIN과 동일합니다. INNER 키워드는 선택 사항입니다.
4 가지 유형의 JOIN
- (INNER) JOIN : 레코드 선택 두 테이블 모두에 일치하는 값이 있습니다.
- FULL (OUTER) JOIN : 왼쪽 또는 오른쪽 테이블 레코드와 일치하는 모든 레코드를 선택합니다.
- LEFT (OUTER) JOIN : 다음에서 레코드를 선택합니다. 오른쪽 테이블 레코드와 일치하는 첫 번째 (가장 왼쪽) 테이블
- RIGHT (외부) JOIN : 왼쪽 테이블 레코드와 일치하는 두 번째 (가장 오른쪽) 테이블에서 레코드를 선택합니다.
참고 : 모든 INNER 및 OUTER 키워드는 선택 사항입니다.
다른 JOIN에 대한 세부 사항은 후속 튜토리얼 페이지에서 확인할 수 있습니다.
The SQL JOIN 구문
일반 구문은
SELECT column-names FROM table-name1 JOIN table-name2 ON column-name1 = column-name2 WHERE condition
INNER의 일반 구문은 다음과 같습니다.
SELECT column-names FROM table-name1 INNER JOIN table-name2 ON column-name1 = column-name2 WHERE condition
참고 : INNER 키워드는 선택 사항입니다. 기본값이며 가장 많이 사용되는 JOIN 연산입니다.
Id
전나무 tName
LastName
도시
국가
전화
Id
OrderDate
OrderNumber
CustomerId
TotalAmount
SQL JOIN 예
문제 : 고객 정보와 함께 모든 주문 나열
이 예에서 테이블 별칭 및 고객을 사용하는 것이 유용했을 수 있습니다.
결과 : 830 개 레코드
OrderNumber | TotalAmount | FirstName | LastName | City | Country |
---|---|---|---|---|---|
542378 | 440.00 | 폴 | 헨리 엇 | 랭스 | 프랑스 |
542379 | 1863.40 | 카린 | 요셉 | 뮌스터 | 독일 |
542380 | 1813.00 | 마리오 | 퐁트 | 리우데 자네이루 | 브라질 |
542381 | 670.80 | Mary | Saveley | 리옹 | 프랑스 |
542382 | 3730.00 | Pascale | Cartrain | Charleroi | 벨기에 |
542383 | 1444.80 | 마리오 | 퐁트 | 리우데 자네이루 | 브라질 |
542384 | 625.20 | Yang | Wang | 베른 | 스위스 |
Id
ProductName
SupplierId
단가
패키지
단종 됨
Id
OrderId
ProductId
단가
수량
Id
OrderDate
OrderNumber
CustomerId
TotalAmount
문제 : 모든 주문을
제품 이름과 함께 나열하십시오.
수량 및 가격
제품 이름과 함께 나열하십시오.
수량 및 가격
이 쿼리는 3 개의 테이블로 두 개의 JOIN 연산을 수행합니다.
O, I, P는 테이블 별칭입니다. . 날짜는 별칭 열입니다.
O, I, P는 테이블 별칭입니다. . 날짜는 별칭 열입니다.
결과 : 2155 개 레코드