SQL 테이블 결합
테이블 결합 함수
UINION 함수
UNION 함수를 쓸 때 = 테이블의 수직 결합이 필요할 때
UNION 함수의 특징
✅ 테이블이 2개 이상의 동일한 구조일 때 수직으로 붙일 수 있음
✅ 열의 개수와 순서가 모두 일치할 때만 사용 가능
예시)
SELECT 컬럼1, 컬럼2, 컬럼3..
FROM 테이블 명 1
UNION
SELECT 컬럼1, 컬럼2, 컬럼3..
FROM 테이블 명 2
UNION
SELECT 컬럼1, 컬럼2, 컬럼3..
FROM 테이블 명 3
✅ 열의 개수와 순서가 모든 쿼리에서 동일하고 데이터의 형식이 일치하면 2개 이상의 테이블도 결합 가능
▶️ 단점 : 성능은 매우 떨어진다
JOIN 함수
JOIN 함수를 쓸 때 = 테이블의 수평 결합이 필요할 때
JOIN 함수 특징
✅ 공통 컬럼이 있어야 JOIN을 쓸 수 있음
🔥공통 컬럼? 두 테이블에서 공통으로 존재하는 컬럼(열)
❓공통 컬럼이 없다면 JOIN은 불가능
❓공통 컬럼은 하나가 아닐 수도 있고 여러 개도 조인이 가능함
❓JOIN은 항상 SELECT절 뒤에 위치해야 함
⭐️ SQL의 작동 순서
FROM → ON → JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY
예시)
SELECT 컬럼1, 컬럼2..
FROM 테이블 as a
JOIN
SELECT 컬럼1, 컬럼2..
FROM 테이블 as b
ON a.공통컬럼=b.공통컬럼
✅ PK와 FK 찾기
PK(Primary Key) 특성
▶️ 기본키
▶️ PK 컬럼은 모든 데이터를 식별하는 기준이 되는 컬럼
▶️ null 값 없음
▶️ 중복 없음
FK(Foregin Key) 특성
▶️ 외래키
▶️ 다른 테이블의 PK와 연결되어 테이블 간 관계를 나타내주는 컬럼
▶️ PK를 확인하기 위한 연결 컬럼의 역할
🔥 PK와 FK의 관계를 볼 수 있는 ERD(Entity Relationship Diagram) 관계도 🔥

➡️ ERD의 기호를 통해서 각 테이블의 대응 상황을 볼 수 있음
(= Mapping Cardinality)

예시) 
✅ 적절한 JOIN 방식 찾기
1. INNER JOIN ⭐️ 제일 중요 ⭐️
예시)
select 컬럼1, 컬럼2...
from 테이블명1
inner join 테이블명2
on a.공통컬럼=b.공통컬럼
➡️ 내가 이해한 바로는 INNER JOIN은 두 테이블의 교집합과 같은 역할을 한다. 그래서 테이블을 연결하고 컬럼들 안에 있는 공통된 값만 출력한다. (틀리면 추후 수정 예정)
LEFT, RIGHT JOIN
FULL OUTER JOIN
➕ 현재까지는 INNER JOIN만 사용하고 추후 세션을 통해서 다른 JOIN 방식들도 설명해주실 예정