2.6 JOIN(크로스, 내부 조인)

추승완·2025년 3월 19일

오라클 SQL

목록 보기
18/27

두개 이상의 테이블들을 연결 또는 결합하여 데이터를 출력하는 것

  • 관계형 데이터베이스 에서 중요한 연산

  • 일반적인 경우 행들은 Primary Key(PK)나 Foreign Key(FK)값의 연관에 의해 조인이 성립

  • 어떤 경우에는 이러한 PK, FK의 관계가 없어도 논리적인 값들의 연관만으로 조인 성립이 가능하며 JOIN의 조건은 WHERE절에 기술

조인의 종류

  • EQUI-JOIN : 두개의 테이블간에 칼럼값들이 정확하게 일치하는 경우에 사용 ( = )

  • NON-EQUI JOIN : 두개의 테이블간에 칼럼값들이 서로 정확하게 일치하지 않는 경우에 사용 ( =제외한 연산자)

  • SELF JOIN : 두개의 테이블들간에 JOIN을 거는것이 아니라 같은테이블에 있는 행들을 JOIN하는데 사용

ANSI JOIN쓰는 방법 꼭 알아갈것! 회사에서 어떠 DB를 쓸지 모르니까

  • 내부조인 : 적은쪽이 기준, 조건에 안맞으면 다 삭제시킴.

  • 외부조인 : 데이터 많은 쪽이 기준, 같은 수로 만든다음에 없는건 NULL값

SELECT
FROM 테이블A
INNER JOIN 테이블B
INNER JOIN 테이블C (A+B 랑 C 랑 조인)

  • 두개 이상의 테이블 사이에 존재하는 관계를 이용하는 연산
  • 동등조인/비동등조인, 일반조인/ANSI조인, 내부조인/외부조인 등으로 분류
  • FROM 절에 사용된 테이블의 갯수가 n개일때 조인 조건은 n-1개 이상이어야 함.

1. CARTESIAN PRODUCT(CROSS JOIN)

-조인조건이 생략 되었거나 잘못 기술된 경우
-결과는 조인에 참여한 각 테이블의 행의 갯수를 곱한 수만큼의 행과 열은 각 테이블의 열을 더한 수만큼의 열이 결과로 반환
-반드시 필요치 않으면 사용 자제


2. 내부 조인

-조인조건을 만족하는 자료만 연산에 참여시키고 조건을 만족하지 않는 자료는 무시하는 조인
-동등조인(EQUI JOIN)/ 비동등조인 (NON EQUI JOIN), INNER JOIN

사용형식

사용예




profile
안녕하세요. 개발, 해보겠습니다

0개의 댓글