SQL Server/실기 정리
SQL Server 27강 - 두 테이블 연결 조회 (INNER JOIN)
코딩하는냥이
2025. 6. 2. 15:04
반응형
이번 글에서는 INNER JOIN을 사용하여 두 개의 테이블을 공통된 컬럼 기준으로 연결하고, 필요한 조건을 걸어 결합된 데이터를 조회하는 실습을 진행했습니다.
조인은 관계형 데이터베이스의 핵심 기능으로, 분리된 데이터 간의 연관성을 활용할 수 있게 합니다.
📌 기본 형식
SELECT [필드] FROM [테이블1]
INNER JOIN [테이블2] ON [테이블1.필드] = [테이블2.필드]
WHERE [조건]
📌 예제 코드
SELECT
a.symbol,
a.company_name,
a.ipo_year,
a.sector,
a.industry,
b.date,
b.[open],
b.[high],
b.[low],
b.[close],
b.adj_close,
b.volume
FROM nasdaq_company AS a
INNER JOIN stock AS b
ON a.symbol = b.symbol
WHERE a.symbol = 'MSFT'
AND b.date >= '2021-10-01'
AND b.date < '2021-11-01';
💻 실행 결과 예시
symbol | company_name | ipo_year | sector | industry | date | open | high | low | close | adj_close | volume |
MSFT | Microsoft Corp | 1986 | Technology | Software | 2021-10-01 | 289.1 | 290 | 286.5 | 289.3 | 289.3 | 20000000 |
MSFT | Microsoft Corp | 1986 | Technology | Software | 2021-10-04 | 288 | 292.5 | 287.8 | 291.2 | 291.2 | 22000000 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
위 결과는 nasdaq_company 테이블의 기업 정보와 stock 테이블의 주식 정보를
symbol 컬럼을 기준으로 조인하여, MSFT 종목의 2021년 10월 한 달간 데이터를 함께 조회한 것입니다.
💬 코드 설명
- INNER JOIN: 양쪽 테이블에 공통된 값이 존재하는 경우에만 결과 반환
- a.symbol = b.symbol: 조인 조건 — 두 테이블의 symbol 값이 같을 때 결합
- WHERE: 조회 대상 필터링 (MSFT, 날짜 범위 등)
- AS a, AS b: 테이블에 별칭(alias) 부여하여 가독성 향상
💡 포인트 정리
- INNER JOIN: 양쪽 모두 값이 있을 때만 결과 출력
- 조인 조건이 없으면 카테시안 곱(모든 조합)이 발생하므로 주의
- 테이블 별칭(AS a, AS b)을 사용하면 긴 쿼리를 간결하게 작성 가능
- 다중 테이블 조회 시 조인 조건 + 필터 조건을 명확히 구분
📌 정리하자면, 이번 강의에서는 INNER JOIN을 활용해 두 테이블을 symbol 컬럼 기준으로 연결하고,
MSFT 종목의 특정 기간 주식 데이터를 기업 정보와 함께 조회하는 실습을 진행했습니다.
조인은 실무에서 가장 많이 사용되는 SQL 기능 중 하나로, 분산된 정보를 결합하고 통합적으로 분석할 수 있게 해줍니다.