DB/Oracle

[서브쿼리] 서브쿼리의 정의

2022. 2. 14. 14:55
목차
  1. 서브쿼리

서브쿼리

  서브쿼리는 SQL문을 실행하는 데 데이터를 추가 조회하기 위해 SQL문 내부에 사용하는 SELECT문이다. 서브쿼리의 기본형식은 아래와 같다.

 

 

 

 파란색 박스가 칠해져 있는 곳은 '메인쿼리', 빨간색 박스가 칠해져 있는 곳은 '서브쿼리'라 부른다. 간단한 예제로 서브쿼리의 사용을 확인해보자. 사원 이름이 JONES인 사원의 급여를 출력하면 아래와 같다. 

 

 

SELECT SAL
FROM EMP
WHERE ENAME = 'JONES';

 

 

 

 

 사원 이름 JONES의 급여가 '2975'인걸 주목하자. 만약 사원의 급여가 2975 이상인 사원 데이터를 출력한다면 아래와 같은 쿼리문이 출력 될거다.

 

 

SELECT *
FROM EMP
WHERE SAL > 2975;

 

 

 

 

 앞서 JONES의 급여가 '2975'인 것에 주목하자고 했다. JONES와 급여의 값 2975 둘이 같다라면 2975 대신 JONES의 급여를 구하는 쿼리문을 짤 수 있다. 

 

 

 

 

 급여 값(2957) 대신 입력된 SELECT문(빨간 박스 쳐져있는 곳)을 서브쿼리라 한다. 서브쿼리는 4가지의 특징을 가지고 있는데 특징들을 나열하면 아래와 같다.

 

 

  1. 괄호 ()로 묶어서 사용한다.
  2. ORDER BY절을 사용할 수 없다.
  3. 서브쿼리에 명시한 열은 메인쿼리의 비교 대상과 같은 자료형과 같은 개수로 지정해야한다.
  4. 서브쿼리에 있는 SELECT문의 결과 행 수는 함께 사용하는 메인쿼리의 연산자 종류와 호환 가능해야한다.

출처:Do it! 오라클로 배우는 데이터베이스 입문(저자:이지훈 출판사:이지스퍼블리싱)

'DB > Oracle' 카테고리의 다른 글

[서브쿼리] 다중행 서브쿼리  (0) 2022.02.15
[서브쿼리] 단일행 서브쿼리  (0) 2022.02.14
[다중행 함수] 결과 값을 원하는 열로 묶어 출력하는 GROUP BY절  (0) 2022.02.11
[다중행 함수] 하나의 열에 출력 결과를 담는 다중행 함수  (0) 2022.02.10
[오라클 함수] 상황에 따라 다른 데이터를 반환하는 DECODE 함수와 CASE문  (0) 2022.02.10
  1. 서브쿼리
'DB/Oracle' 카테고리의 다른 글
  • [서브쿼리] 다중행 서브쿼리
  • [서브쿼리] 단일행 서브쿼리
  • [다중행 함수] 결과 값을 원하는 열로 묶어 출력하는 GROUP BY절
  • [다중행 함수] 하나의 열에 출력 결과를 담는 다중행 함수
각시탈코더
각시탈코더
각시탈코더
각시탈코더
각시탈코더
전체
오늘
어제
  • 분류 전체보기 (203)
    • java (46)
      • 객체지향 (20)
      • 기본문법 (8)
      • 자바의 정석 연습문제 오답노트 (9)
      • 백준 알고리즘 (9)
    • Spring (17)
      • SpringMVC (8)
      • Spring DI와 AOP (5)
      • REST API와 Ajax (1)
      • Spring 프로젝트 (1)
      • Spring Security (0)
    • DB (47)
      • Oracle (15)
      • SQL오답노트 (25)
      • 튜닝 (0)
      • ERD (1)
      • DB 모델링 (5)
    • Servlet & JSP (3)
    • JDBC (2)
      • 기본 (1)
      • 스프링JDBC (1)
    • MyBatis (2)
    • JavaScript (2)
      • 코딩애플 (0)
      • 문법 (1)
    • React (0)
      • 코딩애플 (0)
    • HTML (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • CSS (0)
      • 모던 웹을 위한 HTML5+CSS3 바이블 (0)
    • Linux (0)
    • Git & GitHub (2)
      • Git (1)
    • CS (19)
      • 네트워크 (6)
      • HTTP (7)
      • 컴퓨터구조 (0)
      • 자료구조와 알고리즘 (2)
      • 기타 (4)
    • 개발설정 (2)
    • 기술면접 (0)
      • JAVA (0)
      • Spring (0)
      • DB (0)
      • 네트워크 (0)
      • 공통 (0)
    • 프로젝트 (2)
      • 게시판만들기 (2)
    • 기혁씨의 삽질표류기 (28)
    • 참고자료 (2)
      • 국비수업 (0)
      • 당당 프로젝트 (1)
    • 뉴렉처 (17)
      • 자바 (11)
      • 자바스크립트 (3)
      • 키워드 (0)
      • 숙제 (0)
      • CSS (0)
      • DB (3)
      • 서블릿 (0)
      • 스프링 (0)
      • DOM (0)
    • 내가 만든 학습그림 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 쿼리
  • spring
  • Java
  • 국비수업
  • SQL
  • 백엔드
  • 프로그래머스
  • 오류
  • db
  • 공부
  • 자바의정석기초편
  • 백준
  • 뉴렉처
  • 웹프로그래밍
  • 서브쿼리
  • 배열
  • 스프링
  • 코딩
  • 연습문제
  • Oracle
  • 네트워크
  • It
  • 개발자
  • 알고리즘
  • 모두의네트워크
  • 자바
  • 객체지향
  • 자바의정석
  • 오라클
  • 에러

최근 댓글

최근 글

hELLO · Designed By 정상우.
각시탈코더
[서브쿼리] 서브쿼리의 정의
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.