[DB(2)]SQL 심화 - 중첩질의어 이해

이유정·2024년 7월 16일
0

데이터베이스

목록 보기
23/25

SQL에서 EXISTS 함수와 UNIQUE 함수

중첩질의는 외부참조를 하는경우와 그렇지 않은경우를 나눠서 다르게 처리한다.

중첩질의

  • 중첩질의는 시간이 많이 걸린다.
  • 특히 외부 참조를 하는 경우에 바깥쪽 테이블의 각 튜플에 대해서 내부질의가 한번씩 실행되기 때문에 내부 질의의 실행 횟수는 바깥쪽 Employee 테이블의 튜플 수만큼 실행된다. 내부 질의가 몇번 실행되느냐 ? 외부질의의 튜플 수 만큼 실행된다.

SQL에서 명시적 집합과 널

재명명 애트리뷰트와 조인된 테이블


SELECT E.LNAME AS EMPLOYEE_NAME,
S.LNAME AS SUPERVISOR_NAME

E.LNAME을 EMPLOYEE_NAME로 이름을 바꾸고,
S.LNAME을 SUPERVISOR_NAME로 이름을 바꾼다.

재명명 애트리뷰트와 조인된 테이블


16절과 16-1 은 똑같음.

외부조인(outer join)


그동안 우리가 배운 join은 innter join으로 생각

  • 그 외에 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이 존재한다.

outer join 의 요약

  • 일반적으로 join 되는 경우에, 조건이 있는데 두 필드의 값이 같다" 와 같은 조건임. 근데 조건이 matching이 되는 튜플이 있고, 없는 튜플도 있다. join에 참여하는 튜블과 , join에 참여하지 않는 튜플로 구분한다. A1(A튜플 중 JOIN 참여), A2(A튜플 중 JOIN 참여X), B1(B튜플 중 JOIN 참여), B2(B튜플 중 JOIN 참여X)

1. Inner Join

  • 우리가 흔히 알고있는 join임.
  • join 조건에 만족하는 튜플들만 붙여서 결과를 만들어낸다.
    2. Left Join
  • A 테이블 중 join에 참여하지 않는 튜플을 포함해서 넣는다.
    3. Right Join
  • B 테이블 중 join에 참여하지 않는 튜플을 포함해서 넣는다.
    4. Full Outer Join
    • A 테이블 중 join에 참여하지 않는 튜플을 포함해서 넣는다.
  • B 테이블 중 join에 참여하지 않는 튜플을 포함해서 넣는다.

집단함수와 그룹화

  • 집단함수 = 집단화함수 = 집계함수

    Sum, Max, Min, Avg, COUNT를 이용해서 테이블의 집계치를 편리하게 구할 수 있음. !

  • 많이 사용된다.

  • GROUP BY: 각 그룹의 집계치

Having 절

  • sql에서 제일 마지막 절임.
  • 그룹을 선택 하는 조건이다
    • where 절은 튜플에 대한 조건임. : 튜플이 결과에 포함될 것이냐 말것이냐 조건임.
  • GROUP BY에 의해서 여러 그룹들이 만들어졌을 때 , 그 그룹을 최종적으로 담을 것이냐 안담을 것이냐 하는 것.

SQL 질의에 대한 논의와 요약

profile
강의 기록 블로그

0개의 댓글