개발이야기/정보처리기사
[정처기] 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)
반응형