부트캠프/TIL
[부트캠프] TIL - JOIN, UNION
purple95
2024. 8. 2. 14:32
JOIN은 여러개의 테이블의 정보를 가져와 하나의 테이블이나 결과 집합으로 표현해주는 관계형 데이터베이스의 기능입니다.
INNER JOIN
조인하는 테이블의 ON 절의 조건이 일치하는 데이터만 출력합니다.
간단하게 작성한 INNER JOIN 코드, 두 테이블의 공통 컬럼 값을 기준으로 JOIN을 실행하여
공통된 부분만의 값을 가져옵니다.
SELECT *
FROM A a JOIN B b ON a.column = b.column;
이외에 LEFT, RIGHT JOIN도 존재하는데, 이 부분은 동작방식에 차이가 존재합니다.
LEFT, RIGHT JOIN
핵심적인 차이는, 두 테이블이 JOIN 할때 LEFT와 RIGHT 설정한 기준에 따라 기준 테이블의 값은
모두 출력을 해야 한다는것입니다, 기준 테이블이 아닌 테이블의 값은 없을 경우 null로 초기화가 됩니다.
UNION
UNION은 하나의 SELECT 문의 결과를 하나의 테이블로 표현할 때에 사용합니다.
이때 선택된 SELECT문들은 선택된 필드의 개수와 타입이 모두 같아야 하고, 필드의 순서 역시도 같아야합니다.
UNION에는 중복제거 기능인 DISTINCT가 자동으로 포함되어있습니다.
하지만
UNION ALL
UNION ALL에는 말 그대로 중복제거 기능인 DISTINCT가 없어 중복되는 데이터까지 모두 출력을합니다.