검수요청.png검수요청.png

"서브쿼리"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(예제)
(예제)
10번째 줄: 10번째 줄:
 
   FROM T1
 
   FROM T1
 
   WHERE C1 = (SELECT C1
 
   WHERE C1 = (SELECT C1
 +
              FROM T2
 +
              WHERE C2 = '3')
 +
  ORDER BY C1, C2, C3;
 +
 +
그룹 함수를 사용하는 경우 결과값이 1건이기 때문에 단일 행 서브쿼리로써 사용 가능하다.
 +
 +
  SELECT C1, C2, C3
 +
  FROM T1
 +
  WHERE C1 <= (SELECT AVG(C1)
 
               FROM T2
 
               FROM T2
 
               WHERE C2 &#61; '3')
 
               WHERE C2 &#61; '3')

2020년 8월 18일 (화) 09:40 판

서브쿼리(sub query)는 하나의 SQL 문에 포함되어 있는 또 다른 SQL 문이다.[1]

분류

단일 행 서브쿼리

  • 서브쿼리가 단일 행 비교 연산자(=, <, <=, >, >=, <>)와 함께 사용될 때는 서브쿼리의 결과 건수가 반드시 1건 이하여야 한다.
만약 결과가 2건 이상인 경우 오류가 발생한다.

예제

만약 T2 테이블의 C2 = 3 인 조건을 만족하는 C1 의 값이 2건 이상인 경우 오류가 발생한다.

 SELECT C1, C2, C3
 FROM T1
 WHERE C1 = (SELECT C1
             FROM T2
             WHERE C2 = '3')
 ORDER BY C1, C2, C3;

그룹 함수를 사용하는 경우 결과값이 1건이기 때문에 단일 행 서브쿼리로써 사용 가능하다.

 SELECT C1, C2, C3
 FROM T1
 WHERE C1 <= (SELECT AVG(C1)
             FROM T2
             WHERE C2 = '3')
 ORDER BY C1, C2, C3;

다중 행 서브쿼리

다중 컬럼 서브쿼리

연관 서브쿼리

각주

참고자료

같이 보기


  검수요청.png검수요청.png 이 서브쿼리 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.