sqld
관계와 조인(Join)의 개념
자격증원톱
2026. 2. 21. 11:40
반응형
관계와 조인(Join)의 개념
반응형

1) 조인(Join)이란?
- 서로 다른 테이블을 공통 키(보통 PK–FK)로 연결해서 한 번에 조회하는 방법입니다.
- 관계형 DB에서는 데이터를 테이블로 나눠 저장하므로(정규화), 필요한 정보를 한 화면에 보려면 조인이 자주 필요합니다.
예시(고객 + 주문)
- 고객 이름은 Customers 테이블에 있고,
- 주문 정보는 Orders 테이블에 있습니다.
둘을 같이 보려면 CUSTOMER_ID로 연결(조인)합니다.
2) 예시 테이블 구조(이미지 내용)
- CUSTOMERS(고객)
- CUSTOMER_ID(PK), NAME, ADDRESS, …
- ORDERS(주문)
- ORDER_ID(PK), CUSTOMER_ID(FK), STATUS, SALESMAN_ID, …
핵심
ORDERS.CUSTOMER_ID가 CUSTOMERS.CUSTOMER_ID를 참조(FK) 하므로 두 테이블은 연결 가능합니다.
3) 내부 조인(INNER JOIN) 예제(이미지 쿼리)
이미지의 SQL은 이런 의미입니다.
SELECT
A.CUSTOMER_ID,
A.NAME,
A.ADDRESS,
B.ORDER_ID,
B.STATUS,
B.SALESMAN_ID
FROM CUSTOMERS A
INNER JOIN ORDERS B
ON A.CUSTOMER_ID = B.CUSTOMER_ID;
쉬운 해석
- CUSTOMERS를 A, ORDERS를 B라고 줄여 부름(별칭)
- A.CUSTOMER_ID = B.CUSTOMER_ID가 같은 행끼리 붙임
- 붙인 결과에서 고객정보 + 주문정보를 한 번에 출력
INNER JOIN 특징
- 양쪽에 모두 존재하는 데이터만 나옵니다.
즉, 주문이 있는 고객만 결과에 나옵니다(주문 없는 고객은 제외).
4) 결과가 이렇게 나오는 이유(중요 포인트)
고객 1명이 주문을 여러 번 하면 결과는 이렇게 됩니다.
예시
- 고객 46번이 주문 3건이면:
| CUSTOMER_ID | NAME | ORDER_ID | STATUS |
| 46 | 홍길동 | 26 | 배송중 |
| 46 | 홍길동 | 12 | 배송중 |
| 46 | 홍길동 | 31 | 주문취소 |
이유
조인은 “고객 1명 + 주문 N건”이면 결과가 N줄로 늘어나는 구조입니다.
5) SQL 해석 포인트(이미지 요약)
- FROM: 기준 테이블을 잡음(CUSTOMERS)
- JOIN + ON: 어떤 키로 붙일지 결정(CUSTOMER_ID)
- SELECT: 어떤 컬럼을 보여줄지 결정(고객 컬럼 + 주문 컬럼)
6) SQL 쿼리 스타일(가독성) 요지
이미지 마지막은 “정답보다 실무에서 중요한 습관”을 말합니다.
- SELECT 컬럼은 줄바꿈으로 정렬
- FROM / JOIN / ON / WHERE는 줄을 나누기
- 들여쓰기(Indent) 규칙 통일
- AND/OR 조건도 줄 맞춰 쓰기
→ 이렇게 하면 쿼리가 길어져도 읽기 쉽고 유지보수가 편합니다.
예시(가독성 좋게)
SELECT
A.customer_id,
A.name,
B.order_id,
B.status
FROM customers AS A
INNER JOIN orders AS B
ON A.customer_id = B.customer_id
ORDER BY B.order_id DESC;
초간단 요약
- JOIN = 테이블을 키로 연결해서 한 결과로 조회
- INNER JOIN = 양쪽에 매칭되는 데이터만 출력
- 고객 1명에 주문이 여러 건이면 결과는 여러 줄로 늘어남
- SQL은 가독성 있게 쓰는 스타일이 중요
반응형