반응형
# 스칼라 서브쿼리 (Scalar Subquery)
- 1 Row, 1 Column 만을 반환하여 컬럼처럼 사용이 가능한 서브 쿼리이다.
- 주로 SELECT 절에서 사용.
- 단일행 서브 쿼리이기 때문에 결과를 2건 이상 반환하면 에러가 발생한다.
SELECT A.EMP_NAME
, A.SALARY
, ( SELECT AVG(SALARY)
FROM EMP
WHERE DEPT_ID = A.DEPT_ID ) AS AVG_SALARY // 스칼라 서브쿼리.
FROM EMP A;
# 인라인 뷰 (Inline View)
- FROM 절에서 사용.
- SQL 문이 실행될 때만 임시로 생성되는 동적인 뷰이기 때문에 Dynamic View 라고도 함.
SELECTB.DEPTNAME
, A.AVG_SALARY
FROM ( SELECT DEPT_ID
, AVG(SALARY) AS AVG_SALARY
FROM EMP
GROUP BY DEPT_ID
) A // 인라인 뷰
, DEPT B
WHERE A.DEPT_ID = B.DEPT_ID;
# 뷰 (View)
- 하나 이상의 테이블에서사용자에게 데이터를 보여주기 위해 재정의한 가상 테이블(Virtual Table)이다.
- 테이블은 실제 데이터를 갖고 있지만, 뷰는 실제 데이터를 가지지 않는다.
## 뷰의 특징
1. 독립성
- 테이블 구조가 변경되어도 뷰를 재정의하면 되기 때문에, 애플리케이션을 변경할 필요가 없다.
2. 편리성
- 복잡한 SQL문을 단순한 형태로 변환 가능.
3. 보안성
- 민감한 정보를 제외하여 뷰를 정의하면 보안이 강화된다.
반응형
'자격증 > SQLD & SQLP 자격증' 카테고리의 다른 글
데이터베이스 정규화의 성능 고려사항, 반정규화 성능 고려사항 (0) | 2022.04.21 |
---|---|
주 식별자 도출 기준 (0) | 2022.04.20 |
DML, TCL (0) | 2022.03.28 |
엔티티의 다양한 정의 (0) | 2022.03.21 |
데이터 모델링의 다양한 정의 (0) | 2022.03.21 |