kimkongmom 2023. 7. 7. 10:50

 

 

 

 

 

 

역대급 졸린 오늘입니다. 

외우자 싸우자 나가자 이기자

 

 

서브쿼리 (SUB QUERY)

    1. 메인 쿼리에 포함되는 하위쿼리를 서브쿼리라고 한다.
    2. 서브 쿼리를 먼저 실행해서 그 결과를 메인쿼리에 전달한다.
    3. 종류
        1) SELECT 절 : 스칼라 서브쿼리
        2)   FROM 절 : 인라인 뷰( INLINE VIEW)
        3)  WHERE 절 : 단일 행 서브쿼리 (결과가 1개)
                       다중 행 서브쿼리 (결과가 N개)

 

단일 행 서브쿼리 (SINGLE ROW SUB QUERY)

    1. 결과가 1행이다. (1개이다.)
    2. 단일 행 서브쿼리인 경우
        1) WHERE 절에서 사용한 칼럼이 PK 또는 UNIQUE (중복이없는 칼럼 동등 비교 했을때) 칼럼인 경우
        2) 통계 함수를 사용한 경우 
    3. 단일 행 서브쿼리 연산자
        =, !=, >, >=, <, <=

 

다중 행 서브쿼리 (MULTI ROW SUB QUERY)

    1. 결과가 N행이다.
    2. 단일행이 아니면 다중 행
    3. 다중행 서브쿼리 연산자
        IN, ANY, ALL 등

 

▶ WHERE 절의 서브쿼리

기본 예시

 

 

 

 

→ 중복이 있는것에 대해서는 다중으로 처리하기 때문에 IN 사용!

 

▶ FROM절의  서브쿼리

 

FROM

 

 

ROW_NUMBER() OVER(ORDER BY SALARY DESC) → 이부분 뭔지 기억나시나요 저는 기억이 안나더라구요

이번기회에 머리에 넣겠습니다. 행번호 구할때  쓰는 기타함수!!

 

위에 행번호나 , RN, AN 처럼 AS 로 별명을 정한다음, FROM절 서브쿼리를 사용하면 실행순서가 FROM이 첫번째이기 때문에  WHERE 절에서 사용 가능하게 됩니다.

 

--여기 복습다시하기

▶ SELECT절의  서브쿼리

 

캬 어렵다

 

아직 이해를 하지못했지만 알면 좋은 WITH

 

 WITH
   ① 자주 사용하거나 복잡한 쿼리문을 WITH 절의 코드 블록으로 등록시켜 놓을 수 있다.
   ② WITH 절의 코드 블록은 임시로 저장되기 때문에 곧바로 사용해야 한다.
   ③ 쿼리문의 가독성이 좋아진다.