SlideShare a Scribd company logo
제7장 서브 쿼리
(SUB-QUERY)
이 상덕
CONTENTS
1. 서브 쿼리(개념과 특징)
2. 단일 행 서브 쿼리
3. 다중 행 서브 쿼리
4. 예제
학습목표
1. 서브쿼리 개념 파악하기.
2. 단일행, 다중행 연산자 파악하기.
3. 어떤 상황에 단일행이나 다중행 서브쿼리를
사용하는지 알아두기.
목차
1. 서브 쿼리(개념과 특징): 쿼리 안의 쿼리
1. 서브 쿼리 - 개념과 특징(1)
-쿼리 앆의 또다른 쿼리문.
-WHERE, FROM, CREATE 절 등에 쓰임.
-편의성 높음.
-성능 저하의 이슈 관리 중요.
-단일 행 서브 쿼리 / 다중 행 서브 쿼리.
1. 서브 쿼리 - 개념과 특징(2)
출처: http://docs.oracle.com/cloud/latest/db121/SQLRF/queries001.htm#SQLRF52327
목차
2. 단일 행 서브 쿼리: 결과값을 1개만 반환
2. 단일 행 서브 쿼리 – 문법과 개념
문법
SELECT 칼럼명[1]…. 칼럼명[n]
FROM 테이블명
WHERE 칼럼 (단일행)서브쿼리연산자
(
SELECT 칼럼명[1] …. 칼럼명[n]
FROM 테이블명
WHERE 조건
);
비교연산자 >, =, >=, <, <>, <=
문제: 사원 Alexander Khoo 보다 급여가 많은 사람들의
정보를 출력하세요.(EMPLOYEES 테이블 참조)
목차
3. 다중 행 서브 쿼리: 여러 개를 반환
3. 다중 행 서브 쿼리(1) – 개념과 문법
종류
IN
ANY, SOME
ALL
EXISTS
3. 다중 행 서브 쿼리(2) – 개념과 문법
문법
SELECT 칼럼명[1]…. 칼럼명[n]
FROM 테이블명
WHERE 조건 (다중행)서브쿼리연산자
(
SELECT 칼럼명[1] …. 칼럼명[n]
FROM 테이블명
WHERE 조건
);
비교연산자 IN, ANY(SOME), ALL, EXISTS
문제: 사원 Alexander Khoo와 월급이 동일핚 사원들의
정보를 출력하세요[IN 연산자 활용].
3. 다중 행 서브 쿼리(3) - 다중 행 연산자(ANY)
종류 의미
ANY, SOME 메인 쿼리의 비교 조건이 서브 쿼리의 검
색결과와 하나 이상이 일치하면 값을 반환.
<ANY 최대값보다 작음
>ANY 최소값보다 큼
=ANY IN과 동일함
문제: 영업부서의 최대급여 받는 직원보다 낮은 급여를
받는 직원들(영업부서 제외)을 출력하세요.
3. 다중 행 서브 쿼리(4) - 다중 행 연산자(ALL)
종류 의미
ALL 메인 쿼리의 비교 조건이 서브 쿼리의 검
색 결과와 모든 값이 일치하면 값을 반환.
>ALL 최대값보다 큼
<ALL 최소값보다 작음
문제: SALES 부서는 아니지만, SALES 부서에서 최대급여를
받는 직원보다 많이 받는 직원을 모두 출력하세요.
3. 다중 행 서브 쿼리(5) - 다중 행 연산자(EXISTS)
문제: 부서코드 100번과 110번인 사람들의 정보를 EXISTS
키워드를 통해 출력하세요.
다중행 연산자 IN과 대비되는 특징
1. 오직 서브쿼리에서만 사용가능.
2. 서브쿼리의 결과값만 가져옴
3. WHERE EXISTS~ 서브쿼리문 사용
3. 다중 행 서브 쿼리(6) - PAIRWISE와 NONPAIRWISE
3. 다중 행 서브 쿼리(7) - PAIRWISE와 NONPAIRWISE
3. 다중 행 서브 쿼리(7) - IN LINE VIEW
문제: 각 부서별 평균 급여보다 많이 받는 사람들을
IN LINE VIEW로 쿼리문을 작성 후, 출력하세요.
4. 예제
1. Bruce Ernst보다 높은 급여를 받는 사원의 정보를
출력하세요.
2. 부서 코드가 60번인 사원들의 모든 정보를 출력하
세요.
3. 회사에서 급여가 가장 적은 사원을 찾아 그 사원의
정보를 출력하세요.
4. 영업부서[매니저, 대표 각각]에서 가장 늦게 입사핚
사원에 대핚 정보를 출력하세요.
JOB_ID가 끝문자[~MAN, ~REP]
THANKS FOR EVERYTHING
Q&A

More Related Content

Similar to 제7장 서브 쿼리

Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
SangIn Choung
 
암달의 법칙과 쿼리튜닝 기초
암달의 법칙과 쿼리튜닝 기초암달의 법칙과 쿼리튜닝 기초
암달의 법칙과 쿼리튜닝 기초
Hoyoung Jung
 
Database 튜닝 교육 110124
Database 튜닝 교육 110124Database 튜닝 교육 110124
Database 튜닝 교육 110124
한 경만
 
Java 유지보수 가능한 개발 원칙
Java 유지보수 가능한 개발 원칙Java 유지보수 가능한 개발 원칙
Java 유지보수 가능한 개발 원칙
Hyosang Hong
 
유지보수 가능한 개발 원칙
유지보수 가능한 개발 원칙유지보수 가능한 개발 원칙
유지보수 가능한 개발 원칙
Hyosang Hong
 
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
EXEM
 

Similar to 제7장 서브 쿼리 (6)

Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드 Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
Postman과 Newman을 이용한 RestAPI 테스트 자동화 가이드
 
암달의 법칙과 쿼리튜닝 기초
암달의 법칙과 쿼리튜닝 기초암달의 법칙과 쿼리튜닝 기초
암달의 법칙과 쿼리튜닝 기초
 
Database 튜닝 교육 110124
Database 튜닝 교육 110124Database 튜닝 교육 110124
Database 튜닝 교육 110124
 
Java 유지보수 가능한 개발 원칙
Java 유지보수 가능한 개발 원칙Java 유지보수 가능한 개발 원칙
Java 유지보수 가능한 개발 원칙
 
유지보수 가능한 개발 원칙
유지보수 가능한 개발 원칙유지보수 가능한 개발 원칙
유지보수 가능한 개발 원칙
 
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
 

More from sang doc Lee

제6장 테이블 조인
제6장 테이블 조인제6장 테이블 조인
제6장 테이블 조인
sang doc Lee
 
제4장 sql 함수를 사용해보기
제4장 sql 함수를 사용해보기제4장 sql 함수를 사용해보기
제4장 sql 함수를 사용해보기
sang doc Lee
 
제3장 sql plus에 대하여
제3장 sql plus에 대하여제3장 sql plus에 대하여
제3장 sql plus에 대하여
sang doc Lee
 
제2장 데이터 조회하기
제2장 데이터 조회하기제2장 데이터 조회하기
제2장 데이터 조회하기
sang doc Lee
 
제1장 오라클, dbms설치
제1장 오라클, dbms설치제1장 오라클, dbms설치
제1장 오라클, dbms설치
sang doc Lee
 
제13장 사용자 권한
제13장 사용자 권한제13장 사용자 권한
제13장 사용자 권한
sang doc Lee
 
제11장 뷰
제11장 뷰제11장 뷰
제11장 뷰
sang doc Lee
 
제10장 데이터 무결성과 제약 조건
제10장 데이터 무결성과 제약 조건제10장 데이터 무결성과 제약 조건
제10장 데이터 무결성과 제약 조건
sang doc Lee
 
제9장 데이터 조작과 트랜잭션
제9장 데이터 조작과 트랜잭션제9장 데이터 조작과 트랜잭션
제9장 데이터 조작과 트랜잭션
sang doc Lee
 
제8장 테이블 생성 수정 제거하기
제8장 테이블 생성 수정 제거하기제8장 테이블 생성 수정 제거하기
제8장 테이블 생성 수정 제거하기
sang doc Lee
 
제5장 집계함수, 그룹함수 사용하기
제5장 집계함수, 그룹함수 사용하기제5장 집계함수, 그룹함수 사용하기
제5장 집계함수, 그룹함수 사용하기
sang doc Lee
 

More from sang doc Lee (11)

제6장 테이블 조인
제6장 테이블 조인제6장 테이블 조인
제6장 테이블 조인
 
제4장 sql 함수를 사용해보기
제4장 sql 함수를 사용해보기제4장 sql 함수를 사용해보기
제4장 sql 함수를 사용해보기
 
제3장 sql plus에 대하여
제3장 sql plus에 대하여제3장 sql plus에 대하여
제3장 sql plus에 대하여
 
제2장 데이터 조회하기
제2장 데이터 조회하기제2장 데이터 조회하기
제2장 데이터 조회하기
 
제1장 오라클, dbms설치
제1장 오라클, dbms설치제1장 오라클, dbms설치
제1장 오라클, dbms설치
 
제13장 사용자 권한
제13장 사용자 권한제13장 사용자 권한
제13장 사용자 권한
 
제11장 뷰
제11장 뷰제11장 뷰
제11장 뷰
 
제10장 데이터 무결성과 제약 조건
제10장 데이터 무결성과 제약 조건제10장 데이터 무결성과 제약 조건
제10장 데이터 무결성과 제약 조건
 
제9장 데이터 조작과 트랜잭션
제9장 데이터 조작과 트랜잭션제9장 데이터 조작과 트랜잭션
제9장 데이터 조작과 트랜잭션
 
제8장 테이블 생성 수정 제거하기
제8장 테이블 생성 수정 제거하기제8장 테이블 생성 수정 제거하기
제8장 테이블 생성 수정 제거하기
 
제5장 집계함수, 그룹함수 사용하기
제5장 집계함수, 그룹함수 사용하기제5장 집계함수, 그룹함수 사용하기
제5장 집계함수, 그룹함수 사용하기
 

제7장 서브 쿼리

  • 2. CONTENTS 1. 서브 쿼리(개념과 특징) 2. 단일 행 서브 쿼리 3. 다중 행 서브 쿼리 4. 예제
  • 3. 학습목표 1. 서브쿼리 개념 파악하기. 2. 단일행, 다중행 연산자 파악하기. 3. 어떤 상황에 단일행이나 다중행 서브쿼리를 사용하는지 알아두기.
  • 4. 목차 1. 서브 쿼리(개념과 특징): 쿼리 안의 쿼리
  • 5. 1. 서브 쿼리 - 개념과 특징(1) -쿼리 앆의 또다른 쿼리문. -WHERE, FROM, CREATE 절 등에 쓰임. -편의성 높음. -성능 저하의 이슈 관리 중요. -단일 행 서브 쿼리 / 다중 행 서브 쿼리.
  • 6. 1. 서브 쿼리 - 개념과 특징(2) 출처: http://docs.oracle.com/cloud/latest/db121/SQLRF/queries001.htm#SQLRF52327
  • 7. 목차 2. 단일 행 서브 쿼리: 결과값을 1개만 반환
  • 8. 2. 단일 행 서브 쿼리 – 문법과 개념 문법 SELECT 칼럼명[1]…. 칼럼명[n] FROM 테이블명 WHERE 칼럼 (단일행)서브쿼리연산자 ( SELECT 칼럼명[1] …. 칼럼명[n] FROM 테이블명 WHERE 조건 ); 비교연산자 >, =, >=, <, <>, <= 문제: 사원 Alexander Khoo 보다 급여가 많은 사람들의 정보를 출력하세요.(EMPLOYEES 테이블 참조)
  • 9. 목차 3. 다중 행 서브 쿼리: 여러 개를 반환
  • 10. 3. 다중 행 서브 쿼리(1) – 개념과 문법 종류 IN ANY, SOME ALL EXISTS
  • 11. 3. 다중 행 서브 쿼리(2) – 개념과 문법 문법 SELECT 칼럼명[1]…. 칼럼명[n] FROM 테이블명 WHERE 조건 (다중행)서브쿼리연산자 ( SELECT 칼럼명[1] …. 칼럼명[n] FROM 테이블명 WHERE 조건 ); 비교연산자 IN, ANY(SOME), ALL, EXISTS 문제: 사원 Alexander Khoo와 월급이 동일핚 사원들의 정보를 출력하세요[IN 연산자 활용].
  • 12. 3. 다중 행 서브 쿼리(3) - 다중 행 연산자(ANY) 종류 의미 ANY, SOME 메인 쿼리의 비교 조건이 서브 쿼리의 검 색결과와 하나 이상이 일치하면 값을 반환. <ANY 최대값보다 작음 >ANY 최소값보다 큼 =ANY IN과 동일함 문제: 영업부서의 최대급여 받는 직원보다 낮은 급여를 받는 직원들(영업부서 제외)을 출력하세요.
  • 13. 3. 다중 행 서브 쿼리(4) - 다중 행 연산자(ALL) 종류 의미 ALL 메인 쿼리의 비교 조건이 서브 쿼리의 검 색 결과와 모든 값이 일치하면 값을 반환. >ALL 최대값보다 큼 <ALL 최소값보다 작음 문제: SALES 부서는 아니지만, SALES 부서에서 최대급여를 받는 직원보다 많이 받는 직원을 모두 출력하세요.
  • 14. 3. 다중 행 서브 쿼리(5) - 다중 행 연산자(EXISTS) 문제: 부서코드 100번과 110번인 사람들의 정보를 EXISTS 키워드를 통해 출력하세요. 다중행 연산자 IN과 대비되는 특징 1. 오직 서브쿼리에서만 사용가능. 2. 서브쿼리의 결과값만 가져옴 3. WHERE EXISTS~ 서브쿼리문 사용
  • 15. 3. 다중 행 서브 쿼리(6) - PAIRWISE와 NONPAIRWISE
  • 16. 3. 다중 행 서브 쿼리(7) - PAIRWISE와 NONPAIRWISE
  • 17. 3. 다중 행 서브 쿼리(7) - IN LINE VIEW 문제: 각 부서별 평균 급여보다 많이 받는 사람들을 IN LINE VIEW로 쿼리문을 작성 후, 출력하세요.
  • 18. 4. 예제 1. Bruce Ernst보다 높은 급여를 받는 사원의 정보를 출력하세요. 2. 부서 코드가 60번인 사원들의 모든 정보를 출력하 세요. 3. 회사에서 급여가 가장 적은 사원을 찾아 그 사원의 정보를 출력하세요. 4. 영업부서[매니저, 대표 각각]에서 가장 늦게 입사핚 사원에 대핚 정보를 출력하세요. JOB_ID가 끝문자[~MAN, ~REP]