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 기능 중 하나로, 분산된 정보를 결합하고 통합적으로 분석할 수 있게 해줍니다.