SQL 라이브세션_테이블결합 편

라라·2025년 5월 22일
0

SQL 시리즈

목록 보기
9/11
post-thumbnail

SQL 테이블 결합

테이블 결합 함수

  • UNION ▶︎ 어떤 함수인지 알고 있어야 함
  • JOIN ▶︎ 확실하게 개념을 알고 있어야 함🔥

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은 두 테이블의 교집합과 같은 역할을 한다. 그래서 테이블을 연결하고 컬럼들 안에 있는 공통된 값만 출력한다. (틀리면 추후 수정 예정)

  1. LEFT, RIGHT JOIN

  2. FULL OUTER JOIN

➕ 현재까지는 INNER JOIN만 사용하고 추후 세션을 통해서 다른 JOIN 방식들도 설명해주실 예정

profile
공부를 위해 기록하는 공간

0개의 댓글