본문 바로가기

개인 스터디/정리

[정보처리기사 실기] 15. 응용 SQL~16.SQL 활용 및 최적화

 

15. 응용 SQL

 

1. 집계성 SQL

  • 다중 행 연산자 : 서브 쿼리의 결과가 여러 개의 튜플을 반환하는 다중 행 서브쿼리에서 사용되는 연산자
  • 다중 행 연산자 종류
    • IN : 리턴 값 중 조건에 해당하는 값이 있으면 참
    • ANY : 서브 쿼리 값의 조건을 비교하여 하나 이상을 만족하면 참
    • ALL : 서브 쿼리의 모든 값을 만족하면 참
    • EXISTS : 메인 쿼리의 비교 조건이 서브쿼리의 결과 중 만족하는 값이 하나라도 존재하면 참
  • 집계 함수 : 행에서 하나의 결과값을 반환하는 함수
  • 집계 함수 구문
    • GROUP BY 구문 : WHERE 구문을 활용하여 조건 별 대상 ROW를 선택 후, 해당 ROW를 그룹핑
    • HAVING : GROUP BY 구문의 기준 항목이나 소그룹 집계 함수를 활용한 조건을 적용하는 데 사용
SELECT '컬럼명', '집계합수' FROM '테이블명' WHERE '조건' GROUP BY '컬럼' HAVING '조건식(집계함수 포함)
  • 집계 함수 종류 : COUNT, SUM, MIN, MAX, AVG, STDDEV(표준편차), VARIANCE(분산)

 


16. SQL 활용 및 최적화

 

1. 절차형 SQL

  • 절차형 SQL : SQL 언어에서도 절차 적인 프로그램이 가능하도록 하는 트랜잭션 언어
  • 절차형 SQL 종류
    • 프로시저 : 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
    • 사용자 정의 함수 : 일련의 SQL 처리를 수핸하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL
    • 트리거 : 데이터베이스 시스템에서 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL

 

2. SQL 최적화

  • 튜닝(쿼리 성능 개선) : 최소의 시간으로 원하는 결과를 얻도록 프로시적를 수정하는 작업
  • 옵티마이저 : SWL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심 엔진
  • 옵티마이저 유형
    • RBO(규칙기반 옵티마이저) : 사전 등록된 규칙에 따라 질희 실행 계획을 선택
    • CBO(비용기반 옵티마이저) : 통계 정보로부터 모든 접근 경로를 고려한 질의 실행 계획을 선택