파게로그

subquery 본문

콤퓨타 왕기초/SQLD/JDBC/Oracle DB

subquery

파게 2021. 3. 21. 15:06

subquery

  • SELECT문 내에 다시 SELECT문을 사용하는 SQL문
  • 가상의 테이블을 만드는 효과를 얻을 수 있음
  • inline view: FROM구에 SELECT문 사용
  • scala subquery: SELECT문에 subquery 사용(한 행과 한 칼럼만 반환)
  • subquery: WHERE구에 SELECT문 사용

 

단일 행 서브쿼리

  • 단 하나의 행만 반환
  • 비교연산자(=, <, <=, >, >=) 사용

 

다중 행 서브쿼리

  • 여러 개의 행을 반환
  • 다중 행 비교연산자(IN, ANY, ALL, EXISTS) 사용
  • IN(subquery)
    - main query의 비교 조건이 subquery의 결과 중 하나만 동일하면 참
  • ALL(subquery)
    - main query와 subquery의 결과가 모두 동일하면 참
    - < ALL: 최솟값을 반환
    - > ALL: 최댓값을 반환
  • ANY(subquery)
    - main query의 비교 조건이 subquery의 결과 중 하나 이상 동일하면 참
    - < ANY: 하나라도 크게 되면 참
    - > ANY: 하나라도 작게 되면 참
  • EXISTS(subquery)
    - main query와 subquery의 결과가 하나라도 존재하면 참

 

연관 서브쿼리(correlated subquery)

SELECT *
FROM EMP A
WHERE A.deptno =
    (SELECT deptno FROM DEPT B WHERE B.deptno = A.deptno);
  • subquery 내에서 main query의 칼럼을 사용하는 것

'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글

window function  (0) 2021.03.22
group function  (0) 2021.03.21
계층형 조회(CONNECT BY)  (0) 2021.03.21
join  (0) 2021.03.19
TCL(Transaction Control Language)  (0) 2021.03.18
Comments