안녕하세요 인터럽트입니다.
오늘은 오라클 DB에서 자주 사용하는 용어인 스칼라, 서브쿼리, 인라인뷰에 대해서 알아보려고 합니다. 이들은 비슷하지만 서로 다른 개념이며 각각의 특징과 차이점이 있습니다. 그럼 알아볼까요?
반응형
개념
스칼라(Scalar)
특징
스칼라는 서브쿼리의 결과가 단일 값으로 반환하는 쿼리입니다. 즉 서브쿼리가 하나의 행과 열만 반환합니다. 일치하는 값이 없으면 NULL을 반환한다.
용도
주로 SELECT문이나 WHERE절에서 사용되며, 데이터의 일부를 검색하거나 조건에 따라 값을 결정할 때 유용합니다.
사용법
SELECT employee_name,
(SELECT department_name
FROM departments
WHERE department_id = employees.department_id) AS department_name
FROM employees;
서브쿼리(Subquery)
특징
서브쿼리는 메인 쿼리안에 포함된 쿼리로, 주로 SELECT, INSERT, UPDATE, DELETE문에서 다른 쿼리의 일부로 사용됩니다.
용도
주로 데이터의 일부를 조회할 때 사용한다.
사용법
SELECT employee_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE location_id = 1700);
반응형
인라인 뷰(Inline View)
특징
인라인뷰는 메인 쿼리 안에 정의된 서브쿼리로, 결과 세트의 임시 테이블로 작동합니다.
용도
주로 FROM절에서 사용되며, 서브쿼리의 결과를 메인쿼리와 함께 처리하거나 조인할 때 사용됩니다.
사용법
SELECT employee_name, department_name
FROM (
SELECT e.employee_name, d.department_name
FROM employees e
JOIN departments d ON e.department_id = d.department_id
) inline_view;
각각의 차이점
반환값
- 스칼라 : 단일 값을 반환한다.
- 서브쿼리 : 다수의 행과 열을 반환할 수 있다.
- 인라인 뷰 : 여러 행과 열을 반환한다.
사용위치
- 스칼라 : 주로 SELECT문이나 WHERE 절에서 사용된다.
- 서브쿼리 : SELECT, INSERT, UPDATE, DELETE 등의 쿼리에서 사용된다.
- 인라인 뷰 : 주로 FROM절에서 사용된다.
수행시점
- 스칼라 : 주로 메인 쿼리의 각 행에 대해 한 번씩 수행
- 서브쿼리 : 메인 쿼리가 실행될 때 함께 실행
- 인라인 뷰 : 메인 쿼리가 실행될 때 함께 실행
반응형
긴글 읽어주셔서 감사합니다.
