SQLD_서브쿼리

dozzzini·2023년 11월 24일

SQLD

목록 보기
5/5

📗서브쿼리: 하나의 SQL문에 포함되어 있는 내부 SQL문
※ SELECT절, FROM절, WHERE절, HAVING절, ORDER BY절, INSERT문의 VALUES절, UPDATE문의 SET절에서 사용 가능

<서브쿼리의 유형 >

실행 결과에 따른 서브쿼리
( 1 ) 단일행 서브쿼리

  • 실행 결과가 1건 이하인 서브쿼리
  • 단일 행 비교 연산자와 함께 사용되며, =, <, <=, >, >=, <> 사용

( 2 ) 다중행 서브쿼리

  • 실행 결과로 다수의 로우를 반환하는 서브쿼리
    ✅ 다중 행 비교 연산자
    1 ) IN : 서브쿼리 결과에 부분적으로 포함되는 조건
    2 ) ALL : 비교 연산 수행 시 서브 쿼리 결과와 모든 값을 만족하는 조건
    3 ) ANY : 비교 연산 수행 시 서브 쿼리 결과의 임의 값을 만족하는 조건
    4 ) EXISTS : 서브 쿼리 결과를 만족하는 값이 있는지 확인하는 조건

( 3 ) 다중컬럼 서브쿼리

  • 실행 결과로 다수의 컬럼을 반환하는 서브쿼리

▸ 메인쿼리 연관성

( 1 ) 연관 서브쿼리

  • 메인쿼리의 컬럼을 가지고 있는 서브쿼리

SQL 위치에 따른 서브쿼리

( 1 ) 스칼라 서브쿼리

  • SELECT절에서 주로 사용하는 서브쿼리
  • 1 ROW, 1 COLUMN만을 반환

( 2 ) 인라인 뷰

  • FROM 절에서 사용하는 서브쿼리

📗
: 하나 이상의 테이블에서 사용자에게 데이터를 보여주기 위해 재정의한 가상테이블
※ 테이블은 실제 데이터를 가지고 있지만 뷰는 실제 데이터를 가지지 않는다.

<뷰의 특징>

  • 독립성 : 테이블 구조가 변경되어도 뷰를 재정의하면 되기 때문에, 애플리케이션을 변경할 필요가 없음
  • 편리성 : 뷰를 사용하면 복잡한 SQL문을 단순한 형태로 변환 가능
  • 보안성 : 민감한 정보를 제외하여 뷰를 정의하면 보안이 강화됨

0개의 댓글