SQLD 2-1-8 표준 Join

김희영·2026년 1월 20일

SQLD

목록 보기
19/27

표준 JOIN

표준 join

  • ANSI 표준으로 작성되는 조인
  • INNER / CROSS / NATURAL / OUTER

순수관계연산자

  • 선택, 투영, 합집합, 차집합, 곱집합으로
    관계를 입력받아 관계를 출력하는 관계대수의 기본 연산자
연산자기호의미SQL 대응
선택σ (Selection)행 선택WHERE
투영π (Projection)열 선택SELECT
합집합∪ (Union)두 관계 결합UNION
차집합− (Difference)한쪽만 남김MINUS / EXCEPT
곱집합× (Cartesian Product)모든 조합CROSS JOIN

+) DIVIDE는 이제 안 쓴다.

INNER 조인

  • 내부 조인. 조건이 일치하는 교집합만 보여줌
  • 오라클은 =, ANSI는 USING이나 ON 사용

ON

  • 양쪽의 컬럼으로 조인
  • 컬럼명 달라도 OK
  • 컬럼명 같으면 테이블 명시

USING

  • 컬럼명이 같은 컬럼끼리 조인
  • AS 사용 불가
  • SQL Server는 사용 불가
SELECT NAME, 테이블1.나이, 테이블2.직급
FROM 테이블1
JOIN 테이블2
USING NAME

-> 이름으로 조인

NATURAL 조인

  • 같은 이름,데이터형,도메인인 컬럼들로 EQUI JOIN
  • NATURAL 조인쓰면 USING,ON,WHERE에서 join 조건 정의 불가
  • SQL Server는 사용 불가
  • as와 테이블명 (접두사) 사용 불가

CROSS 조인

  • 테이블간 JOIN 조건이 없을 때 가능한 모든 데이터의 조합
    -> 테이블1이 3개의 행을 가지고 테이블2가 2개 가지면 총 6개가 나옴

OUTER 조인

  • LEFT OUTER JOIN : 왼쪽 테이블 기준으로 오른쪽을 더함
    • 일치 값 없으면 null로 됨
  • RIGHT OUTER JOIN : 오른쪽 테이블 기준으로 왼쪽을 더함
    • 일치 값 없으면 null로 됨
  • FULL OUTER JOIN : 모든 데이터 결합
    • 일치 값 없으면 null로 됨
    • 오라클에서는 UNION으로 구현 가능. (단, 중복은 1개만 반환됨)
profile
내는 반드시 개발자가 되고 말것어

0개의 댓글