UNION : 여러개의 SELECT 문의 결과를 하나의 테이블로 연결하여 보고 싶을 때 사용하는 함수
UNION 함수의 기본 구조
-- 컬럼 순서와 형식이 같아야 함
SELECT name, goods_nm, pay_date
FROM 테이블명1
-- 수직결합 명시
UNION (ALL)
SELECT name, goods_nm, pay_date
FROM 테이블명2
JOIN의 첫번째 단계 : 공통컬럼 찾기
JOIN의 두번째 단계 : 공통컬럼 관계찾기
JOIN의 세번째 단계 : 적절한 조인 방식 찾기
조인의 종류
조인 종류 | 특징 |
---|---|
INNER JOIN | 두 테이블에서 일치하는 값을 가진 행을 출력 (교집합) |
LEFT JOIN | 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환(일치하는 항목이 없으면 NULL 값이 출력) |
RIGHT JOIN | 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환 (일치하는 항목이 없으면 NULL 값이 출력) |
FULL OUTER JOIN | 모든 데이터를 보고 싶을 때 사용 (합집합) |
INNER JOIN과 LEFT JOIN의 기본 구조
-- INNER JOIN
SELECT 컬럼1, 컬럼2 ...
FROM 테이블1 as a
INNER JOIN 테이블2 as b
ON a.공통컬럼 = b.공통컬럼
-- LEFT JOIN
SELECT 컬럼1, 컬럼2 ...
FROM 테이블1 as a
LEFT JOIN 테이블2 as b
ON a.공통컬럼 = b.공통컬럼
구분 | UNION | JOIN |
---|---|---|
결합방식 | 수직결합 (세로로 결합) | 수평결합 (가로로 결합) |
특징 | 각 SELECT 문은 같은 수의 열을 가져야함 각 SELECT 문은 동일한 순서를 가져야함 | 각 테이블은 결합을 위해 공통컬럼을 1개 이상 가져야함 PK는 기본키라고 부르며, NULL 일 수 없고, 유일한 값을 가짐 (테이블 당 하나의 기본키만 가질 수 있음) FK는 외래키라고 부르며 PK와 연결되는 컬럼을 의미 |
종류 | UNION UNION (ALL) | (INNER)JOIN LEFT JOIN RIGHT JOIN FULL OUTER JOIN |