유용한 SQL문법

K·2022년 5월 30일
0

SQL BOOSTER

목록 보기
3/12

1. 서브쿼리

1.1 서브쿼리 종류

  • 서브쿼리가 무조건 성능이 나쁜것은 아니다, 때에따라 더좋은 성능을 낼때도 있다.
  • SELECT절의 단독 서브쿼리 (스칼라 서브쿼리)
    • 메인 SQL의값과 상관없이 불러오는형태
    • 똑같은 테이블의 데이터를 여러번 스칼라형태로 구성하는것보다 인랑린뷰로 구성하여 가져오는것이 성능에 유리하다.
  • SELECT절의 상관 서브쿼리 (스칼라 서브쿼리)
    • 메인 SQL의값을 이용해 불러오는 형태
    • 일반적인 스칼라의 형태
    • 상관 서브쿼리의 WHERE절 컬럼은 적절한 인덱스가 필수
  • WHERE절의 단독 서브쿼리
    • 단독조건이나, IN조건에 합당하는 데이터를 불러오기위해 사용.
  • WHERE절의 상관 서브쿼리
    • 데이터 존재 여부 파악에 자주사용 EXITS절

2. MERGE

  • 데이터 존재 여부에 따라 데이터를 INSERT하거나 UPDATE할때사용.

    MERGE INTO TABE T
    USING ( 참조 서브쿼리)
    ON (조건절) --T테이블에 데이터 존재유무 체크
    WHEN MATCHED THEN
    --데이터있을경우 (UPDATE)
    WHEN NOT MATCHED THEN
    --데이터 없을경우(INSERT)

3. WITH

  • 인라인뷰와 비슷하다고 보면되고, SQL의 가장 윗부분에서 사용한다.
  • 반복되는 인라인뷰 제거로 성능개선, SQL가독성 향상.
    (WITH절이라고 무조건 성능향상되는것은 아닙 실행계획 확인피룡)
  • WITH절을 이용한 INSERT문 구성 가능.
profile
늙어가면서 기억을 남기는 개발자

0개의 댓글