INNER JOIN
- JOIN: 여러 개의 테이블을 연결한다
- JOIN 연결하는 방식에 따라 INNER JOIN과 OUTER JOIN으로 나뉘어진다
- JOIN을 할 때는 컬럼 앞에 이 컬럼이 어느 테이블에 속한 컬럼인지를 명시해 주기 위해서 '테이블명.컬렁명'으로 작성해야 하는데, 매번 작성하기 길기 때문에 각 테이블에 ALIAS를 써서 간단하게 표기해준다
- JOIN에 다른 조건을 추가하고 싶다면 WHERE 밑에 AND로 연결해서 작성한다.
- INNER JOIN은 두 테이블에 공통적으로 존재하는 데이터여야 출력이 된다
- JOIN의 관계는 1:1이 될 수도 있고, 1:N이 될 수도 있고 N:1이 될 수도 있다
[실습]
SELECT * FROM NETFLIX_CAST;
SELECT A.VIDEO_NAME, A.CATEGORY, B.CAST_MEMBER, B.BIRTHDAY
FROM NETFLIX A, NETFLIX_CAST B
WHERE A.VIDEO_NAME = B.VIDEO_NAME
OUTER JOIN
- LEFT OUTER JOIN: LEFT TABLE의 모든 데이터가 출력이 되는 것을 전제로 JOIN이 되는 방식
- RIGHT OUTER JOIN: RIGHT TABLE의 모든 데이터가 출력이 되는 것을 전제로 JOIN이 되는 방식
- FULL OUTER JOIN: LEFT TABLE와 RIGHT TABLE의 모든 데이터가 출력이 되는 것을 전제로 JOIN이 되는 방식
- OUTER JOIN은 JOIN 조건이 ON 절에 들어가고, INNER JOIN은 WHERE 절에 들어간다
[실습]
SELECT A.VIDEO_NAME, A.CATEGORY, B.CAST_MEMBER
FROM NETFLIX A
LEFT OUTER JOIN NETFLIX_CAST B
ON A.VIDEO_NAME = B.VIDEO_NAME;
#INNER JOIN과 동일하게 만들고 싶다면 아래 조건을 추가한다
WHERE B.CAST_MEMBER IS NOT NULL;
'✏️ STUDY > 📍 data' 카테고리의 다른 글
[SQL 기초] UPPER / LOWER / 숫자 함수 (0) | 2023.06.13 |
---|---|
[SQL 기초] 날짜함수 / REPLACE / SUBSTR (0) | 2023.06.12 |
[SQL 기초] ORDER BY / GROUP BY (0) | 2023.06.03 |
[SQL 기초] SELECT / WHERE (0) | 2023.06.01 |
[SQL 기초] INSERT / UPDATE / DELETE (0) | 2023.05.31 |