반응형

# 조인

  • 여러 개의 테이블을 연결해 데이터를 출력하는 것.
  • 일반적으로 행들은 PK(PRIMARY KEY), FK(FOREIGN KEY) 값의 연관에 의해 조인 성립.
  • PK, FK 관계없이 논리적인 값들의 연관만으로 조인이 성립되는 경우도 존재.

## 동등조인 (Equi Join)

  • 두 개의 테이블 간에 컬럼 값들이 서로 정확하게 일치하는 경우 사용.
  • 조인 조건은 WHERE 절에 작성, "=" 연산자를 사용.
  • 주로 PK와 FK의 관계를 기반으로 함.
  • 서로 다른 테이블에 이름이 같은 컬럼명이 존재할 수 있으므로, "테이블명.컬럼명"으로 작성.
SELECT 테이블1.컬럼명
	, 테이블2.컬럼명
FROM 테이블1, 테이블2
WHERE 테이블1.컬럼명1 = 테이블2.컬럼명2

## 비동등 조인 (Non Equi Join)

  • 두 개의 테이블 간에 컬럼 값이 서로 정확하게 일치하지 않는 경우 사용.
  • BETWEEN, >, <, >=, <= 등의 연산자 사용하여 조인 수행.
  • 대부분 Non Equi Join이 가능하지만, 설계상의 이유로 불가능한 경우도 존재.
반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

상관 모델링  (0) 2022.05.13
ON 조건과 WHERE 조건, USING 조건  (0) 2022.05.12
SELECT 문장 실행 순서  (0) 2022.05.11
옵티마이저  (0) 2022.05.09
서브쿼리  (0) 2022.05.09
반응형

# SELECT 문장 실행 순서

  • GROUP BY 절, ORDER BY 절이 같이 사용될 때 SELECT문은 아래와 같이 6개의 절로 구성되어 아래의 순서로 실행된다. (옵티마이저가 문법SYNTAX), 의미(SEMANTIC)적 에러를 점검하는 순서이자 실행순서)
  1. FROM 절 : 조회 대상 테이블 참조
  2. WHERE 절 : 조회 대상 데이터 아니면 제거
  3. GHROUP BY 절 : 행 소그룹화
  4. HAVING 절 : 그룹핑된 값의 조건에 맞는 것만 출력
  5. SELECT 절 : 데이터 값을 출력/계산
  6. ORDER BY 절 : 데이터 정렬
반응형

'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글

ON 조건과 WHERE 조건, USING 조건  (0) 2022.05.12
조인, 동등조인, 비동등 조인  (0) 2022.05.11
옵티마이저  (0) 2022.05.09
서브쿼리  (0) 2022.05.09
관계형 데이터베이스 주요 용어  (0) 2022.04.22
반응형

# 옵티마이저

  • SQL의 실행 방법인 실행계획을 생성하는 데이터베이스 엔진.
  • SQL 문에 대한 최적의 실행 방법을 결정, SQL 실행 속도에 가장 큰 영향을 미친다.
  • 유형 : 규칙 기반 옵티마이저, 비용 기반 옵티마이저

## 규칙 기반 옵티마이저 (RBO : Rule Based Optimizer)

  • 사전에 정의된 SQL 규칙의 우선순위로 실행계획을 생성하는 방식.
  • 사용 가능한 인덱스 유무, 연산자 종류 등을 참조하여 실행계획 생성.

## 비용 기반 옵티마이저(CBO : Cost Based Optimizer)

  • 통계 정보를 활용, SQL 처리 시간 및 자원 사용량 등을 계산, 효율적인 실행계획을 생성.
  • 데이터 건수를 예측하지 못하는 RBO 단점을 개선하기 위해 사용.
  • 통계정보가 없는 경우 불확실한 실행계획 생성 가능성 존재하므로 최신 통계정보 유지하는게 중요.
  • 대부분의 상용 DBMS는 비용 기반 옵티마이저 방식 사용.
반응형
반응형

# 서브쿼리

  • 하나의 SQL문 안에 포함되어 있는 내부 SQL을 의미.
  • 메인 쿼리가 서브 쿼리를 포함하는 형태.
  • SELECT 절, FROM 절, WHERE 절, HAVING 절, ORDER BY 절, INSERT 문의 VALUES 절, UPDATE 문의 SET 절에 사용 가능.
  • 일반적으로 서브 쿼리는 괄호로 감싸고, 단일 또는 다중행 비교 연산자와 함께 사용.
반응형

+ Recent posts