관리 메뉴

피터의 개발이야기

[정처기] 2024년 1회 시험에 출제된 세타, 세미, 동등, 자연 조인,... 본문

개발이야기/정보처리기사

[정처기] 2024년 1회 시험에 출제된 세타, 세미, 동등, 자연 조인,...

기록하는 백앤드개발자 2024. 5. 3. 05:56
반응형

ㅁ 들어가며

ㅇ 2024년 1회 정보처리기사 실기 시험을 보면서 잘 듣지 못했던 JOIN의 개념이 나와서 정리하였다.

 

ㅁ 조인의 종류

ㅇ INNER JOIN: A와 B의 교집합

ㅇ LEFT OUTER JOIN: 교집합 연산 결과와 차집합 연산 결과를 합친 것( (AnB) U (A-B) )
ㅇ RIGHT OUTER JOIN: 교집합 연산 결과와 차집합 연산 결과를 합친 것( (AnB) U (B-A) )
ㅇ FULL OUTER JOIN: 합집합(AUB)
ㅇ OUTER JOIN 속성 : 공통 속성 아닌 경우 매칭되지 않아도 null로 치환하여 버리지 않고 연산의 결과제공

ㅇ 세타조인: 비교연산자 (=, !=, >=, <=, >, <)

ㅇ 동등조인: =

ㅇ 자연조인: 동등조인의 중목 컬럼 제거

ㅇ 세미조인: 자연조인의 결과 중 한쪽 테이블만 제공 (주문내역이 있는 고객만 조회)

ㅇ 교차조인(CROSS JOIN): Where 조건이 없시 카티션 프로덕트가 된다. 속성의 갯수는 더해지고 Row의 갯수는 곱해진다.

ㅇ 셀프조인: 같은 두 릴레이션을 활용하여 데이터 추출(EX, 조직도 트리구조)

 

ㅁ 동등조건

# 각 사원들의 사원번호, 부서번호, 부서명을 가져온다.
SELECT emp.사원번호, emp.부서번호, dept.부서명
FROM 부서 dept,
     부서사원_매핑 emp
WHERE dept.부서번호 = emp.부서번호 # 동등조인
ORDER BY 사원번호 asc;

 

ㅁ 자연조인

# 각 사원들의 사원번호, 이름, 부서명을 가져온다.
# 사원, 부서사원_매핑, 부서를 자연조인하여 중복을 제거한다.
SELECT 사.사원번호, 사.이름, 부.부서명
FROM 사원 사
    natural join 부서사원_매핑 부매
    natural join 부서 부
ORDER BY 사.사원번호;

 

ㅁ 내부조인

# 사원들의 성별 평균 연봉

SELECT 사원.성별, AVG(급.연봉) 연봉
FROM 사원
    INNER JOIN 급여 급 on 사원.사원번호 = 급.사원번호
WHERE
    급.종료일자='9999-01-01'
GROUP BY 사원.성별;

 

ㅁ 함께 보면 좋은 사이트

[Database] 관계대수 (Relational Algebra): 조인(JOIN), 외부 합집합(OUTER UNION)

mysal 학습정리 : Join (카티전 프로덕트, 동등조인)

SQL 조인_이너 조인, 아웃터조인, 세타조인, ...

반응형
Comments