3. 손에 잡힐 것 같은 논리적 용어 이해하기

JOY·2025년 3월 19일
0

3-1. 위치에 따른 서브쿼리

  • 서브쿼리
  • 쿼리 안에 포함된 쿼리
    • SELECT절 - 스칼라 서브 쿼리

    • FROM절 - 인라인 뷰

    • WHERE절 - 중첩 서브 쿼리

      SELECT (SELECT ... FROM ...)  --스칼라 서브 쿼리
        FROM (SELECT ... FROM ...)  --인라인 뷰
       WHERE 컬럼명 IN (SELECT ... FROM ...) --중첩 서브 쿼리

3-2. 관계성에 따른 서브쿼리

메인 쿼리와 서브 쿼리의 관계에 따른 용어는?

메인쿼리 = 외부쿼리 / 서브쿼리 = 내부쿼리

  • 비상관 서브 쿼리
    • 먼저 서브쿼리가 독자적 수행 후, 해당 결과를 바탕으로 메인쿼리 수행
      SELECT *
       FROM 학생
      WHERE 학번
            IN (SELECT 학번
                  FROM 학생
                 WHERE 성별 = '남')
  • 상관 서브 쿼리
    • 메인쿼리와 서브쿼리가 의존적

      SELECT *
       FROM 학생
      WHERE 학번
            IN (SELECT 학번
                  FROM 지도교수
                 WHERE 지도교수.학번 = 학생.학번)

3-3. 반환 결과에 따른 서브쿼리

서브 쿼리가 리턴(반환)하는 수치 결과에 대한 용어는?

  • 단일행 서브 쿼리
    • 서브 쿼리의 결과가 1건의 행과 열로 반환
      SELECT *
       FROM 학생
      WHERE 학번
            IN (SELECT MAX(학번) 최대학번
                  FROM 학생)
  • 다중행 서브 쿼리
    • 서브 쿼리의 결과가 2개 이상의 행으로 반환
      SELECT *
       FROM 학생
      WHERE 학번
            IN (SELECT MAX(학번) 전공별 최대학번
                  FROM 학생
                 GROUP BY 전공코드)
  • 다중열 서브 쿼리
    • 서브 쿼리 결과가 2개 이상의 행과 열로 반환
      SELECT *
       FROM 학생
      WHERE (이름, 전공코드) IN (SELECT 이름, 전공코드
      						   FROM 학생
      						  WHERE *이름 LIKE '김%')

3-4. 기초 조인

  • 기본 조인 유형
    • Inner Join
    • Left Outer Join
    • Right Outer Join
    • Full Outer Join
      • Left Outer Join UNION Right Outer Join
        • Union 연산자를 활용하여 중복 제거

3-5. 응용 조인 유형

  • Cross Join (교차 조인)
    • 데카르트의 곱 = 곱집합, 모든 경우의 수

      ❗ 2개 이상의 테이블에 있는 전체 컬럼을 where 조건 없이 모두 조회하는 경우에도 동일하게 적용

  • Natural Join (자연 조인)
    • 동일한 컬럼명을 자연스럽게 조인 시켜주는 방식

      ❗동일한 컬럼명이 없는 경우, Cross Join으로 적용

profile
Just Do IT ------- 🏃‍♀️

0개의 댓글