정보처리기사 실기 DML-JOIN (17)

미룬이·2024년 7월 25일
0

정보처리기사 실기

목록 보기
17/30

!주의! : 이 게시물은 정보성 게시물이 아닌 개인 공부 복기용 게시물 입니다. 정확하지 않을 수 있습니다.



🤗훈수는 언제나 환영입니다🤗


SQL응용 DML-JOIN


JOIN

  • 연관된 튜플들을 결합하여, 하나의 새로운 릴레이션을 반환한다
  • JOIN은 일반적으로 FROM절에 기술하지만, 릴레이션이 사용되는 곳 어디에나 사용할 수 있다.
  • JOIN은 크게 INNER JOIN 과 OUTER JOIN으로 구분된다

INNER JOIN

  • <학생> 테이블과 <성적등급>테이블을 JOIN하여 각 학생의 '학번', '이름', '성적', '등급'을 출력하는 SQL문을 작성하시오
    SELECT 학번,이름,성적,등급
      FROM 학생, 성적등급
      WHERE 학생.성적, BETWEEN 성적등급.최저 AND 성적등급.최고

OUTER JOIN

LEFT OUTER JOIN

  • INNER JOIN의 결과를 구한 후, 우측 항 릴레이션의 어떤 튜플과도 맞지 않는 좌측 항의 릴레이션에 있는 튜플들에 NULL값을 붙여서 INNER JOIN의 결과에 추가한다
  • 표기 형식
    SELECT [테이블명1].속성명, [테이블명2].속성명,
    FROM 테이블명1 LEFT JOIN 테이블명2
    ON 테이블명1.속성명 = 테이블명2.속성명;
    SELECT [테이블명1].속성명, [테이블명2].속성명,
    FROM 테이블명1 LEFT JOIN 테이블명2
    WHERE 테이블명1.속성명 = 테이블명2.속성명(+);

RIGHT OUTER JOIN

  • INNER JOIN의 결과를 구한 후, 좌측 항 릴레이션의 어떤 튜플과도 맞지 않는 우측 항의 릴레이션에 있는 튜플들에 NULL값을 붙여서 INNER JOIN의 결과에 추가한다
  • 표기 형식
    SELECT [테이블명1].속성명, [테이블명2].속성명,
    FROM 테이블명1 RIGHT JOIN 테이블명2
    ON 테이블명1.속성명 = 테이블명2.속성명;
    SELECT [테이블명1].속성명, [테이블명2].속성명,
    FROM 테이블명1 RIGHT JOIN 테이블명2
    WHERE 테이블명1.속성명(+) = 테이블명2.속성명;
profile
미룬이

0개의 댓글