SlideShare a Scribd company logo
탑크리에듀
http://www.topcredu.co.kr/
5. 서브 쿼리(SUB QUERY)
5.1 서브 쿼리(SUB QUERY) 개요
5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY)
5.1 서브 쿼리(SUB QUERY) 개요
• 서브 쿼리는 SELECT한 결과를 조건 비교시 사용하거나 UPDATE, INSERT등에
사용되는 내장된 SELECT 문장이며 메인 쿼리 이전에 한번만 실행 된다. 테이
블 자체의 데이터에 의존하는 조건으로 테이블의 행을 검색할 필요가 있을 때
서브쿼리는 아주 유용하게 이용될 수 있다.
• EMP 테이블에서 SMITH의 급여보다 급여가 많은 사람을 추출하는 경우
탑크리에듀 http://www.topcredu.co.kr/
5.1 서브 쿼리(SUB QUERY) 개요
• 괄호로 싸인 부분이 서브 쿼리 인데 Inner Query or Sub Query 라고 하며 Inner
Query의 결과를 비교 조건으로 사용하는 외부에 있는 것을 Main Query or Outer
Query 라고 한다. 서브쿼리(Sub Query)는 메인 쿼리 실행 전에 한번씩 실행되며
그 결과가 메인 쿼리(Main Query)에 전달된다.
• [서브 쿼리 지침]
• 서브 쿼리는 괄호로 싸야 한다.
• 단일 행 및 복수 행 서브 쿼리는 연산자의 우측에 나타나야 한다.
• 서브 쿼리에는 ORDER BY 절을 포함 할 수 없다.
탑크리에듀 http://www.topcredu.co.kr/
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
• 서브 쿼리에서 하나의 결과가 반환되는 구조이며 이와 같은 구조에서 사용되
는 연산자는 단일 행 연산자( > , >= , < , <= , = , <>) 이다.
탑크리에듀 http://www.topcredu.co.kr/
• --EMP 테이블에서 “SMITH”와 같은 JOB을 가지는 사원들의 ENAME, SAL, JOB을 추출하려 한다고 하자. 만약
SMITH 사원의 JOB 이 “CLERK” 이라는 것을 알고 있다면 다음과 같이 쉽게 할 수 있을 것이다. 그러나 아래와
같은 경우 “SMITH” 사원의 JOB이 바뀌게 되면 어떻게 할 것인가? “SMITH”의 JOB을 바뀔 때 마다 기억을 한다
는 것은 어려운 일다. 그렇다고 질의(Query) 문 을 아래와 같이 매번 두 번 만드는 것도 번거러운 일 이다.
SQL> select job from emp
2 where ename = 'SMITH';
JOB
---------
CLERK
SQL> select ename, sal, job from emp
2 where job = 'CLERK';
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
ENAME SAL JOB
---------- ---------- ---------
SMITH 800 CLERK
ADAMS 1100 CLERK
JAMES 950 CLERK
MILLER 1300 CLERK
• -- 위의 두 예문을 합친 단일 행 서브 쿼리 예문이다.
• -- 서브 쿼리는 아래와 같이 테이블 자체의 데이터에 의존하는 비교 조건으로 데이
터를 검색 할 때 유용 하다.
SQL> select ename, sal, job from emp
2 where job = (select job from emp
3 where ename = 'SMITH');
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
ENAME SAL JOB
---------- ---------- ---------
SMITH 800 CLERK
ADAMS 1100 CLERK
JAMES 950 CLERK
MILLER 1300 CLERK
• --아래의 예문은 EMP 테이블에서 급여가 가장 적은 사원의 이름과 급여를 출
력 하는 예문이다.
SQL> select ename, sal from emp
2 where sal = (select min(sal) from emp);
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
ENAME SAL
---------- ----------
SMITH 800
• -- EMP 테이블에서 부서코드가 30번인 부서의 급여 최소값보다 해당 부서 급
여의 최소값이 큰 부서만 출력하되 부서 순으로 오름차순으로 정렬 하시오. 이
예문에서 기억 해야 하는 사실은 첫째 서브 쿼리는 WHERE절 뿐 아니라
HAVING절에서도 사용 가능하며 둘째 WHERE절이 각 행에 조건을 줘서 선택되
는 행을 제어 하듯이 HAVING절은 GROUP BY에 의해 그룹화 되는 그룹에 조건
을 줄 때 사용하는 것으로 반드시 HAVING은 GROUP BY 뒤에 와야 하며, 셋째
HAVING이 사용되면 대부분 GROUP BY가 있지만 GROUP BY 없는 HAVING의 사
용도 가능 하다. 넷째 ORDER BY절은 SELECT문의 마지막에 오며, 다섯째
SELECT절에 그룹 함수 외의 컬럼이 나타나면 반드시 GROUP BY절에 해당 컬
럼이 나타나야 한다.
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
SQL> select deptno, min(sal) from emp
2 group by deptno
3 having min(sal) > (select min(sal) from emp
4 where deptno = 30)
5 order by deptno;
DEPTNO MIN(SAL)
---------- ----------
10 1300
• --GROUP BY 없이 사용되는 HAVING 예문(테이블 전체를 하나의 그룹으로 간주)
• --EMP 테이블의 SAL의 최대값은 5000 이다. 급여 평균은 2073.21429인 상태
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
SQL> select max(sal) from emp;
MAX(SAL)
----------
5000
SQL> select avg(sal) from emp;
AVG(SAL)
----------
2073.21429
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
• --SAL의 최대값을 구하는데 SAL의 평균이 2000보다 크다고 했으므로 현재의
하나 밖에 없는 그룹(테이블 전체)에는 SAL의 평균이 2073이므로 MAX(SAL)은
5000이 된다.
SQL> select max(sal) from emp
2 having avg(sal) > 2000;
MAX(SAL)
----------
5000
• --EMP Table에는 여러 종류의 직무(JOB)가 있다. 다음 예문은 각 JOB의 평균 급
여가 최대인 JOB과 그 평균 급여를 출력 하는 예문이다.
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
SQL> select job, avg(sal) from emp
2 group by job
3 having avg(sal) = (select max(avg(sal)) from emp
4 group by job);
JOB AVG(SAL)
--------- ----------
PRESIDENT 5000
• --부서코드가 10인 사원들 중 최대/최소 급여를 받는 사원의 이름, 급여, 부서를
출력
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
SQL> select ename, sal, deptno from emp
2 where deptno = 10
3 and sal in ( (select max(sal) from emp where deptno = 10),
4 (select min(sal) from emp where deptno = 10)
5 );
ENAME SAL DEPTNO
---------- ---------- ----------
KING 5000 10
MILLER 1300 10
5.2 단일행 서브쿼리(SINGLE-ROW SUB
QUERY)
탑크리에듀 http://www.topcredu.co.kr/
• --SMITH와 같은 JOB, 같은 부서를 가지는 사원의 이름, 직무, 부서를 출력하는
데 SMITH는 출력하지 마시오
SQL> select ename, job, deptno from emp
2 where job = (select job from emp where ename = 'SMITH')
3 and deptno = (select deptno from emp where ename = 'SMITH')
4 and ename != 'SMITH';
ENAME JOB DEPTNO
---------- --------- ----------
ADAMS CLERK 20
Ad

Recommended

PPTX
(오라클힌트,SQL튜닝강좌#25)오라클WITH구문,서브쿼리 팩토링
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
(오라클SQL기초강좌)상관 서브쿼리(Correlated Sub Query)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
(오라클힌트/SQL튜닝 강좌)쿼리튜닝을 위한 오라클의 10053 이벤트
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
(쿼리 변환, Query Transformation,서브쿼리푸시,SubQuery Pushing)SQL튜닝을 위해 서브쿼리의 드라이빙을 제어...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
(오라클,SQL기초강좌)서브쿼리에서 사용되는 Any(SOME), ALL, EXISTS 연산자 이론 및 실습예문_오라클강좌,SQL,PLSQL...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
(SQL튜닝,오라클힌트강좌)구체화뷰(Materialized View)를 통한 그룹함수(SUM,MAX,MIN,AVG)의 튜닝_오라클 옵티마이...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
#12.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_구로IT학원, 국비지원학원,재직자/실업자교육학원,스...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
(SQL초보자를 위한, 쿼리최적화 for SQL튜닝)SQL쿼리작성Tip,최적화팁,최적화된SQL작성방법교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3.2 실행계획 sql 연산 (concatenation)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
2014년 02월 XE세미나 XE서버서능개선
Sol Kim
 
PDF
암달의 법칙과 쿼리튜닝 기초
Hoyoung Jung
 
PPTX
2.4 optimizer mode를 변경하는 힌트(choose)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
#1.SQL초보에서 Schema Objects까지(SQL학원/오라클학원/IT실무교육학원/재직자/실업자교육학원추천)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
Sql기초강좌2_SET AUTOTRACE_SQL교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3.1 실행계획 sql 연산 (and equal)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3.6 실행계획 SQL 연산 (NESTED LOOP SEMI-JOIN)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
효율적인Sql작성방법 2주차
희동 강
 
PPTX
3.3 실행계획 SQL 연산 (Count,Count Stopkey/Filter)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(Spring Data JPA)식별자(@Id, Primary Key) 자동 생성, @GeneratedValue의 strategy 속성,Ge...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
XpressEngine
 
PDF
오라클강의/자바강의/닷넷강의/자마린교육/아두이노교육학원추천_#13.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
#17.SQL초보에서 Schema Objects까지_오라클교육/SQL기초교육/구로IT학원/구로디짙털단지역
탑크리에듀(구로디지털단지역3번출구 2분거리)
 

More Related Content

What's hot (20)

PPTX
(SQL초보자를 위한, 쿼리최적화 for SQL튜닝)SQL쿼리작성Tip,최적화팁,최적화된SQL작성방법교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3.2 실행계획 sql 연산 (concatenation)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
2014년 02월 XE세미나 XE서버서능개선
Sol Kim
 
PDF
암달의 법칙과 쿼리튜닝 기초
Hoyoung Jung
 
PPTX
2.4 optimizer mode를 변경하는 힌트(choose)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
#1.SQL초보에서 Schema Objects까지(SQL학원/오라클학원/IT실무교육학원/재직자/실업자교육학원추천)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
Sql기초강좌2_SET AUTOTRACE_SQL교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3.1 실행계획 sql 연산 (and equal)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3.6 실행계획 SQL 연산 (NESTED LOOP SEMI-JOIN)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
효율적인Sql작성방법 2주차
희동 강
 
PPTX
3.3 실행계획 SQL 연산 (Count,Count Stopkey/Filter)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(Spring Data JPA)식별자(@Id, Primary Key) 자동 생성, @GeneratedValue의 strategy 속성,Ge...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
XpressEngine
 
(SQL초보자를 위한, 쿼리최적화 for SQL튜닝)SQL쿼리작성Tip,최적화팁,최적화된SQL작성방법교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3.2 실행계획 sql 연산 (concatenation)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
2014년 02월 XE세미나 XE서버서능개선
Sol Kim
 
암달의 법칙과 쿼리튜닝 기초
Hoyoung Jung
 
2.4 optimizer mode를 변경하는 힌트(choose)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
#1.SQL초보에서 Schema Objects까지(SQL학원/오라클학원/IT실무교육학원/재직자/실업자교육학원추천)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Sql기초강좌2_SET AUTOTRACE_SQL교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3.6 실행계획 SQL 연산 (NESTED LOOP SEMI-JOIN)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
효율적인Sql작성방법 2주차
희동 강
 
3.3 실행계획 SQL 연산 (Count,Count Stopkey/Filter)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(Spring Data JPA)식별자(@Id, Primary Key) 자동 생성, @GeneratedValue의 strategy 속성,Ge...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
XpressEngine
 

Similar to 5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query) (20)

PDF
오라클강의/자바강의/닷넷강의/자마린교육/아두이노교육학원추천_#13.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
#17.SQL초보에서 Schema Objects까지_오라클교육/SQL기초교육/구로IT학원/구로디짙털단지역
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
제7장 서브 쿼리
sang doc Lee
 
PDF
#6.SQL초보에서 Schema Objects까지_구로IT학원/오라클교육/자바교육/국비지원/재직자환급교육/내일배움카드/사업주위탁
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPT
제6장조인과서브쿼리
WooYeon Lee
 
PDF
제2장 데이터 조회하기
sang doc Lee
 
PDF
#15.SQL초보에서 Schema Objects까지_국비지원IT학원/구로IT학원/실무교육학원/SQL교육/오라클교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(재직자환급교육/사업주위탁/IT실무교육/구로IT학원/오라클교육/SQL기초강좌/IT강좌)#10.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
mysql 서브쿼리
Hoyoung Jung
 
PPTX
Db활용가이드
기영 박기영
 
PDF
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
101102 endofdb select.1_rdbms
sung ki choi
 
PPTX
효율적인 SQL 작성방법 1주차
희동 강
 
PDF
WINDOW FUNCTION의 이해와 활용방법_Wh oracle
엑셈
 
PPTX
효율적인Sql작성방법 4주차
희동 강
 
PPTX
파이썬 sqlite 이해하기
Yong Joon Moon
 
PDF
제5장 집계함수, 그룹함수 사용하기
sang doc Lee
 
PDF
[오라클교육/닷넷교육/자바교육/SQL기초/스프링학원/국비지원학원/자마린교육]#16.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
제4장 sql 함수를 사용해보기
sang doc Lee
 
PDF
(SQL힌트튜닝,온라인화상교육#3회차,강의자료,12/22)중첩루프조인개요,USE_NL, ORDERED, USE_NL_WITH_INDEX_오...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
오라클강의/자바강의/닷넷강의/자마린교육/아두이노교육학원추천_#13.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
#17.SQL초보에서 Schema Objects까지_오라클교육/SQL기초교육/구로IT학원/구로디짙털단지역
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
제7장 서브 쿼리
sang doc Lee
 
#6.SQL초보에서 Schema Objects까지_구로IT학원/오라클교육/자바교육/국비지원/재직자환급교육/내일배움카드/사업주위탁
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
제6장조인과서브쿼리
WooYeon Lee
 
제2장 데이터 조회하기
sang doc Lee
 
#15.SQL초보에서 Schema Objects까지_국비지원IT학원/구로IT학원/실무교육학원/SQL교육/오라클교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(재직자환급교육/사업주위탁/IT실무교육/구로IT학원/오라클교육/SQL기초강좌/IT강좌)#10.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
mysql 서브쿼리
Hoyoung Jung
 
Db활용가이드
기영 박기영
 
[구로IT학원추천/구로디지털단지IT학원/국비지원IT학원/재직자/구직자환급교육]#9.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
101102 endofdb select.1_rdbms
sung ki choi
 
효율적인 SQL 작성방법 1주차
희동 강
 
WINDOW FUNCTION의 이해와 활용방법_Wh oracle
엑셈
 
효율적인Sql작성방법 4주차
희동 강
 
파이썬 sqlite 이해하기
Yong Joon Moon
 
제5장 집계함수, 그룹함수 사용하기
sang doc Lee
 
[오라클교육/닷넷교육/자바교육/SQL기초/스프링학원/국비지원학원/자마린교육]#16.SQL초보에서 Schema Objects까지
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
제4장 sql 함수를 사용해보기
sang doc Lee
 
(SQL힌트튜닝,온라인화상교육#3회차,강의자료,12/22)중첩루프조인개요,USE_NL, ORDERED, USE_NL_WITH_INDEX_오...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Ad

More from 탑크리에듀(구로디지털단지역3번출구 2분거리) (20)

PDF
자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
[IT교육/IT학원]Develope를 위한 IT실무교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PDF
(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
PPTX
2. xamarin.android 2.5.3 xamarin.android .aar binding(안드로이드 .aar file을 자마린 바...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
자마린.안드로이드 기본 내장레이아웃(Built-In List Item Layouts)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(스프링프레임워크 강좌)스프링부트개요 및 HelloWorld 따라하기
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
자마린 iOS 멀티화면 컨트롤러_네비게이션 컨트롤러, 루트 뷰 컨트롤러
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[IT교육/IT학원]Develope를 위한 IT실무교육
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[아이오닉학원]아이오닉 하이브리드 앱 개발 과정(아이오닉2로 동적 모바일 앱 만들기)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[뷰제이에스학원]뷰제이에스(Vue.js) 프로그래밍 입문(프로그레시브 자바스크립트 프레임워크)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[씨샵학원/씨샵교육]C#, 윈폼, 네트워크, ado.net 실무프로젝트 과정
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[정보처리기사자격증학원]정보처리기사 취득 양성과정(국비무료 자격증과정)
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[wpf학원,wpf교육]닷넷, c#기반 wpf 프로그래밍 인터페이스구현 재직자 향상과정
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(WPF교육)ListBox와 Linq 쿼리를 이용한 간단한 데이터바인딩, 새창 띄우기, 이벤트 및 델리게이트를 통한 메인윈도우의 ListB...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[자마린교육/자마린실습]자바,스프링프레임워크(스프링부트) RESTful 웹서비스 구현 실습,자마린에서 스프링 웹서비스를 호출하고 응답 JS...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
[구로자마린학원/자마린강좌/자마린교육]3. xamarin.ios 3.3.5 추가적인 사항
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. xamarin.i os 3.3 xamarin.ios helloworld 자세히 살펴보기 3.4.4 view controllers an...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld(단일 뷰) 실습[...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
(닷넷,자마린,아이폰실습)Xamarin.iOS HelloWorld 실습_멀티화면,화면전환_Xamarin교육/Xamarin강좌
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
C#기초에서 윈도우, 스마트폰 앱개발 과정(c#.net, ado.net, win form, wpf, 자마린)_자마린학원_씨샵교육_WPF학원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
자바, 웹 기초와 스프링 프레임워크 & 마이바티스 재직자 향상과정(자바학원/자바교육/자바기업출강]
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. xamarin.i os 3.1 xamarin.ios 설치, 개발환경 3.2 xamarin.ios helloworld_자마린학원_자마린...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
3. 안드로이드 애플리케이션 구성요소 3.2인텐트 part01(안드로이드학원/안드로이드교육/안드로이드강좌/안드로이드기업출강]
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
2. xamarin.android 2.5.3 xamarin.android .aar binding(안드로이드 .aar file을 자마린 바...
탑크리에듀(구로디지털단지역3번출구 2분거리)
 
Ad

5. 서브 쿼리(sub query) 5.1 서브 쿼리(sub query) 개요 5.2 단일행 서브쿼리(single row sub query)

  • 1. 탑크리에듀 http://www.topcredu.co.kr/ 5. 서브 쿼리(SUB QUERY) 5.1 서브 쿼리(SUB QUERY) 개요 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY)
  • 2. 5.1 서브 쿼리(SUB QUERY) 개요 • 서브 쿼리는 SELECT한 결과를 조건 비교시 사용하거나 UPDATE, INSERT등에 사용되는 내장된 SELECT 문장이며 메인 쿼리 이전에 한번만 실행 된다. 테이 블 자체의 데이터에 의존하는 조건으로 테이블의 행을 검색할 필요가 있을 때 서브쿼리는 아주 유용하게 이용될 수 있다. • EMP 테이블에서 SMITH의 급여보다 급여가 많은 사람을 추출하는 경우 탑크리에듀 http://www.topcredu.co.kr/
  • 3. 5.1 서브 쿼리(SUB QUERY) 개요 • 괄호로 싸인 부분이 서브 쿼리 인데 Inner Query or Sub Query 라고 하며 Inner Query의 결과를 비교 조건으로 사용하는 외부에 있는 것을 Main Query or Outer Query 라고 한다. 서브쿼리(Sub Query)는 메인 쿼리 실행 전에 한번씩 실행되며 그 결과가 메인 쿼리(Main Query)에 전달된다. • [서브 쿼리 지침] • 서브 쿼리는 괄호로 싸야 한다. • 단일 행 및 복수 행 서브 쿼리는 연산자의 우측에 나타나야 한다. • 서브 쿼리에는 ORDER BY 절을 포함 할 수 없다. 탑크리에듀 http://www.topcredu.co.kr/
  • 4. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) • 서브 쿼리에서 하나의 결과가 반환되는 구조이며 이와 같은 구조에서 사용되 는 연산자는 단일 행 연산자( > , >= , < , <= , = , <>) 이다. 탑크리에듀 http://www.topcredu.co.kr/ • --EMP 테이블에서 “SMITH”와 같은 JOB을 가지는 사원들의 ENAME, SAL, JOB을 추출하려 한다고 하자. 만약 SMITH 사원의 JOB 이 “CLERK” 이라는 것을 알고 있다면 다음과 같이 쉽게 할 수 있을 것이다. 그러나 아래와 같은 경우 “SMITH” 사원의 JOB이 바뀌게 되면 어떻게 할 것인가? “SMITH”의 JOB을 바뀔 때 마다 기억을 한다 는 것은 어려운 일다. 그렇다고 질의(Query) 문 을 아래와 같이 매번 두 번 만드는 것도 번거러운 일 이다. SQL> select job from emp 2 where ename = 'SMITH'; JOB --------- CLERK SQL> select ename, sal, job from emp 2 where job = 'CLERK';
  • 5. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ ENAME SAL JOB ---------- ---------- --------- SMITH 800 CLERK ADAMS 1100 CLERK JAMES 950 CLERK MILLER 1300 CLERK • -- 위의 두 예문을 합친 단일 행 서브 쿼리 예문이다. • -- 서브 쿼리는 아래와 같이 테이블 자체의 데이터에 의존하는 비교 조건으로 데이 터를 검색 할 때 유용 하다. SQL> select ename, sal, job from emp 2 where job = (select job from emp 3 where ename = 'SMITH');
  • 6. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ ENAME SAL JOB ---------- ---------- --------- SMITH 800 CLERK ADAMS 1100 CLERK JAMES 950 CLERK MILLER 1300 CLERK • --아래의 예문은 EMP 테이블에서 급여가 가장 적은 사원의 이름과 급여를 출 력 하는 예문이다. SQL> select ename, sal from emp 2 where sal = (select min(sal) from emp);
  • 7. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ ENAME SAL ---------- ---------- SMITH 800 • -- EMP 테이블에서 부서코드가 30번인 부서의 급여 최소값보다 해당 부서 급 여의 최소값이 큰 부서만 출력하되 부서 순으로 오름차순으로 정렬 하시오. 이 예문에서 기억 해야 하는 사실은 첫째 서브 쿼리는 WHERE절 뿐 아니라 HAVING절에서도 사용 가능하며 둘째 WHERE절이 각 행에 조건을 줘서 선택되 는 행을 제어 하듯이 HAVING절은 GROUP BY에 의해 그룹화 되는 그룹에 조건 을 줄 때 사용하는 것으로 반드시 HAVING은 GROUP BY 뒤에 와야 하며, 셋째 HAVING이 사용되면 대부분 GROUP BY가 있지만 GROUP BY 없는 HAVING의 사 용도 가능 하다. 넷째 ORDER BY절은 SELECT문의 마지막에 오며, 다섯째 SELECT절에 그룹 함수 외의 컬럼이 나타나면 반드시 GROUP BY절에 해당 컬 럼이 나타나야 한다.
  • 8. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ SQL> select deptno, min(sal) from emp 2 group by deptno 3 having min(sal) > (select min(sal) from emp 4 where deptno = 30) 5 order by deptno; DEPTNO MIN(SAL) ---------- ---------- 10 1300 • --GROUP BY 없이 사용되는 HAVING 예문(테이블 전체를 하나의 그룹으로 간주) • --EMP 테이블의 SAL의 최대값은 5000 이다. 급여 평균은 2073.21429인 상태
  • 9. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ SQL> select max(sal) from emp; MAX(SAL) ---------- 5000 SQL> select avg(sal) from emp; AVG(SAL) ---------- 2073.21429
  • 10. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ • --SAL의 최대값을 구하는데 SAL의 평균이 2000보다 크다고 했으므로 현재의 하나 밖에 없는 그룹(테이블 전체)에는 SAL의 평균이 2073이므로 MAX(SAL)은 5000이 된다. SQL> select max(sal) from emp 2 having avg(sal) > 2000; MAX(SAL) ---------- 5000 • --EMP Table에는 여러 종류의 직무(JOB)가 있다. 다음 예문은 각 JOB의 평균 급 여가 최대인 JOB과 그 평균 급여를 출력 하는 예문이다.
  • 11. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ SQL> select job, avg(sal) from emp 2 group by job 3 having avg(sal) = (select max(avg(sal)) from emp 4 group by job); JOB AVG(SAL) --------- ---------- PRESIDENT 5000 • --부서코드가 10인 사원들 중 최대/최소 급여를 받는 사원의 이름, 급여, 부서를 출력
  • 12. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ SQL> select ename, sal, deptno from emp 2 where deptno = 10 3 and sal in ( (select max(sal) from emp where deptno = 10), 4 (select min(sal) from emp where deptno = 10) 5 ); ENAME SAL DEPTNO ---------- ---------- ---------- KING 5000 10 MILLER 1300 10
  • 13. 5.2 단일행 서브쿼리(SINGLE-ROW SUB QUERY) 탑크리에듀 http://www.topcredu.co.kr/ • --SMITH와 같은 JOB, 같은 부서를 가지는 사원의 이름, 직무, 부서를 출력하는 데 SMITH는 출력하지 마시오 SQL> select ename, job, deptno from emp 2 where job = (select job from emp where ename = 'SMITH') 3 and deptno = (select deptno from emp where ename = 'SMITH') 4 and ename != 'SMITH'; ENAME JOB DEPTNO ---------- --------- ---------- ADAMS CLERK 20