반응형
Contents
8장. 조인 (JOIN)
✓ 하나의 SQL 명령문에 의해 여러 테이블에 저장된 데이터를 한 번에 조회할 수 있는 기능
[1] 카티션 곱
두 개 이상의 테이블에 대해 연결 가능한 행을 모두 결합
[2] EQUI JOIN
1) WHERE절 사용
조인 대상 테이블에서 공통 칼럼을 ‘ =‘ 비교해 같은 값을 갖는 행을 연결해 결과 생성
(WHERE 절 사용)
2) NATURAL JOIN
테이블의 모든 칼럼 대상으로 공통 칼럼 조사 후, 내부적으로 조인문 생성
(WHERE 절 사용 X)
💥 NATURAL JOIN 시, 조인 애트리뷰트에 테이블 별명 사용하면 X ‼
3) JOIN ~ USING
✓ USING 절에 조인 대상 칼럼 지정
✓ 칼럼명, 조인 대상 테이블과 동일한 이름이어야
⇨ 사용법
SELECT tbl1.colA, tbl2.colB, col
FROM tbl1 JOIN tbl2
USING(col);
💥 조인 애트리뷰트에 테이블 별명 사용하면 X ‼ x2
[3] NON-EQUI JOIN (= 범위 조인) 🌟🌟
' = ' 조건이 아닌 연산자 사용 (BETWEEN a AND b 등)
[4] OUTER JOIN
EQUI JOIN의 조인 조건에서 양측 칼럼 값 中 하나가 NULL이지만
조인 결과로 출력할 필요가 있는 경우 사용
⇨ 예) 학생 테이블과 교수 테이블을 EQUI JOIN하여 학생의 지도 교수 이름 출력
(조건 : 지도 학생을 한 명도 배정받지 못한 교수 이름도 반드시 함께 출력)
💥 OUTER JOIN 제약사항
✓ IN, OR 연산자 사용 불가
1) (+) 기호 사용한 OUTER JOIN
조인 조건문에서 NULL이 존재하는 테이블 칼럼에 (+) 추가
⇨ 예1) 지도 교수가 배정되지 않은 학생 이름도 함께 출력 (학생 관점)
⇨ 예2) 지도 학생을 배정받지 않은 교수 이름도 함께 출력 (교수 관점)
2) LEFT/RIGHT/FULL OUTER JOIN ~ ON
■ LEFT OUTER JOIN ■
➝ FROM 절의 왼쪽에 위치한 테이블이 NULL 을 가질 경우 사용
➝ WHERE절의 오른편에 ‘(+)’ 기호 추가
■ RIGHT OUTER JOIN ■
➝ FROM 절의 오른쪽에 위치한 테이블이 NULL 을 가질 경우 사용
➝ WHERE절의 왼편에 ‘(+)’ 기호 추가
■ FULL OUTER JOIN ■
[5] SELF JOIN 🌟🌟
한 테이블 내에 있는 칼럼끼리 연결하는 조인이 필요한 경우
1) WHERE절 사용
2) JOIN ~ ON
⇨ 사용법
SELECT tbl1.col, tbl2.col
FROM tbl1 JOIN tbl2
ON tb1.col = tbl2.col;
반응형
'KDT > TIL' 카테고리의 다른 글
2022-08-16 (Tue) (0) | 2022.08.16 |
---|---|
2022-08-10 (Wed) (0) | 2022.08.14 |
2022-08-08 (Mon) (0) | 2022.08.13 |
2022-08-05 (Fri) (0) | 2022.08.13 |
2022-08-04 (Thu) (0) | 2022.08.07 |