728x90
728x90
조인 (JOIN)
- 두 개의 테이블을 연결하여 데이터를 검색하는 방법
# 다중 조인
SELECT *
FROM 테이블1
LEFT JOIN 테이블2
ON 테이블1.Key = 테이블2.Key
LEFT JOIN 테이블3
ON 테이블1.Key = 테이블3.Key;
내부 조인 (자연 조인)
- 두 테이블에서 일치하는 레코드만을 출력함 (교집합)
SELECT *
FROM 기준테이블 AS 'a' -- 'a'라는 별칭 지정
INNER JOIN 대상테이블 AS 'b' -- 'b'라는 별칭 지정
ON a.Key = b.Key -- 주로 기본키, 외래키로 연결함
[WHERE 조건];
외부 조인
# LEFT JOIN
- FROM 절의 테이블에 있는 모든 데이터 + JOIN 절의 테이블에 있는 동일한 데이터
SELECT *
FROM 기준테이블 AS 'a'
LEFT JOIN 상대테이블 AS 'b'
ON a.Key = b.Key
[WHERE 조건];
- 기준 테이블(FROM 절)의 데이터는 모두 보존됨
- 상대 테이블(JOIN 절)에 값이 존재하지 않을 경우, NULL로 표시됨
→ NULL이 있는 데이터는 표시하지 않으려면 WHERE b.기본키 IS NOT NULL 조건 추가
# RIGHT JOIN
- JOIN 절의 테이블에 있는 모든 데이터 + FROM 절의 테이블에 있는 동일한 데이터
SELECT *
FROM 기준테이블 AS 'a'
RIGHT JOIN 상대테이블 AS 'b'
ON a.Key = b.Key
[WHERE 조건];
- 상대 테이블(JOIN 절)의 데이터는 모두 보존됨
- 기준 테이블(FROM 절)에 값이 존재하지 않을 경우, NULL로 표시됨
→ NULL이 있는 데이터는 표시하지 않으려면 WHERE a.기본키 IS NOT NULL 조건 추가
320x100
반응형
'SQL' 카테고리의 다른 글
[SQL] 집계 함수 (0) | 2023.03.11 |
---|---|
[SQL] 함수 (숫자, 문자열, 날짜/시간) (0) | 2023.03.08 |
[SQL] 관계 차수 (0) | 2023.03.07 |
[SQL] 기본키(PK)와 외래키(FK) (1) | 2023.03.07 |
[SQL] 인덱스 (0) | 2023.03.07 |