DB

[DB] 서브 쿼리

개발 공주 2023. 6. 2. 20:44
728x90

하나의 SQL 문에 포함되어 있는 또 다른 SQL 문을 말합니다.

 

서브쿼리 사용시 주의사항

 

1. 서브쿼리를 괄호로 감싸서 사용한다.

2. 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다.

3. 서브쿼리에서는 ORDER BY 를 사용하지 못한다.

 

[ 서브 쿼리 장점 ]

  1. 서브쿼리는 쿼리를 구조화시키므로, 쿼리의 각 부분을 명확히 구분할 수 있게 해준다.
  2. 서브쿼리는 복잡한 JOIN이나 UNION과 같은 동작을 수행할 수 있는 또 다른 방법을 제공
  3. 서브쿼리는 복잡한 JOIN이나 UNION 보다 좀 더 읽기 편함 (가독성이 좋음)

 

서브쿼리가 사용 가능한 곳

 

1. SELECT 절

2. FROM 절

3. WHERE 절

4. HAVING 절

5. ORDER BY 절

6. INSERT 문의 VALUES 절

7. UPDATE 문의 SET 절

 

SELECT col1, (SELECT ...) -- 스칼라 서브쿼리(Scalar Sub Query): 하나의 컬럼처럼 사용 (표현 용도)
FROM (SELECT ...)         -- 인라인 뷰(Inline View): 하나의 테이블처럼 사용 (테이블 대체 용도)
WHERE col = (SELECT ...)  -- 일반 서브쿼리: 하나의 변수(상수)처럼 사용 (서브쿼리의 결과에 따라 달라지는 조건절)

'DB' 카테고리의 다른 글

[DB]Substring, SUBSTRING_INDEX : 문자열 일부 추출  (0) 2023.06.02
[DB] WITH문  (0) 2023.06.02
[DB] Union  (0) 2023.06.02
[DB] Join(Left (outer) Join, Inner Join)  (0) 2023.06.02
[DB] SQL문 기본 문법 - select  (0) 2023.06.01