SQL 기초 및 PLSQL 실무 강좌 자료] 실무에서 서브쿼리 사용시 주의사항


SQL 기초 및 PLSQL 실무 강좌 자료] 실무에서 서브쿼리 사용시 주의사항


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



실무에서 서브쿼리 사용시 주의사항


- 서브쿼리의 결과가 NULL인 경우


- 사용 예
: 2002년에 입사한 교수의 평균 급여보다 많은 급여를 받는 교수의 교수 번호, 이름, 급여를 출력하여라.

 

- 실습​

: Blake와 같은 부서에 있는 모든 사원에 대해서 사원 이름과 입사일을 디스플레이하라.

 

: 평균 급여 이상을 받는 모든 사원에 대해서 사원 번호와 이름을 디스플레이하는 질의문을 생성하라. 단 출력은 급여 내림차순 정렬하라.

 

: 부서 번호와 급여가 보너스를 받는 어떤 사원의 부서 번호와 급여에 일치하는 사원의 이름,

부서 번호 그리고 급여를 디스플레이하라.


 

SQL 기초 및 PLSQL 실무 강좌 자료] 실무에서 서브쿼리 사용시 주의사항


SQL 기초 및 PLSQL 실무 강좌 자료] 실무에서 서브쿼리 사용시 주의사항


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다



실무에서 서브쿼리 사용시 주의사항


* 단일행 서브쿼리에서 오류가 발생하는 경우

- 복수 행 값을 반환하는 서브쿼리와 단일행 비교연산자 함께 사용하는 경우
- 반환되는 칼럼의 수와 메인쿼리에서 비교되는 칼럼 수가 일치하지 않는 경우
- 복수행을 출력하는 서브쿼리와 ‘=‘단일행 연산자로 비교하는 경우

 


 

기초 JAVA 교육과정 ]JDK(SDK)란?

 

기초 JAVA 교육과정 ]JDK(SDK)란?

 

 

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

JDK(SDK)란?

 

 

■JDK

    ​□Java development kit
    □자바 프로그램 개발도구
    □개발을 위한 클래스, 컴파일러, 실행 및 배포도구를 포함 등 개발을 위 한 전반적인 환경을 제공
    □JDK(자바 플랫폼)  =
        ㅁJava Virtual  Machine + Java API
        ㅁJava Virtual  Machine = Hotspot VM(2017/1/11 현재 jdk 8u112)
        ㅁJava API(java application programming interface) = Library 

기초 JAVA 교육과정 ]자바의 장점&단점

 

기초 JAVA 교육과정 ]자바의 장점&단점 

 

 

 

실무개발자를 위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

자바의 장점​

■ 빨리 배울 수 있다.
■ 적은 코드로 프로그램을 작성 할 수 있다.
■ 좋음 품질의 프로그램을 작성할 수 있다.
■ 프로그램 개발을 빨리 할 수 있다.
■ 플랫폼에 독립적인 프로그램을 작성할 수 있다.
■ 분산 소프트웨어를 쉽게 작성할 수 있다.

자바의 단점

■ 느리다. (C/C++에 비해)
■ 빠르다. (변화가)
■ 많다. (배울 것이)


 

기초 JAVA 교육과정 ]자바의 특징

 

기초 JAVA 교육과정 ]자바의 특징 

 

 

 

 

 

실무개발자를 위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

 

자바의 특징

 

단순하다.

객체지향(Object-oriented)적이다.

분산(Distributed)환경에 적합하다.

인터프리터에(Interpreter)에 의해 실행된다.
견고(Robust)한 기능을 제공한다.
안전(Secure)하다.
구조중립(Architecture-neutral)적이고 이식성(Potable)이 높다.
높은 성능(High-performance)을 제공한다.
다중 쓰레드(Multithreaded)를 제공한다.
동적(Dynamic)이다. 

 

 

기초 JAVA 교육과정] 자바(Java)

 

기초 JAVA 교육과정] 자바(Java) 

 

 

실무개발자를 위한 실무교육 전문교육센터학원

www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

 

 

 

바(Java)

 

*자바는 썬마이크로시스템즈(Sun MicroSystems)에서 기획, 개발한 플랫폼이자 객체지향프로그래밍언어이다.

 

*자바는 보통 플랫폼을 의미하기도 하고, 플랫폼의 기본언어인 자바언어를 의미하기도 하는데, 일반적으로 자바라고 하면 그 활용범위가 광범위하여 자바 플랫폼으로 해석되고 있다.

 

*다양한 운영체제 환경 아래에서 다양한 CPU에 의해서 실행되는 코드를 생성한다.
 

​*네트워크상에서 쓸 수 있도록 미국 선 마이크로시스템(Sun Microsystems)사에서 개발한 객체 지향 프로그래밍 언어. ※현재 자바 소스 코드관리는 오라클(Oracle)
 

 

SQL 기초 및 PLSQL 실무 강좌 자료] DECODE 사용시 주의사항


SQL 기초 및 PLSQL 실무 강좌 자료] DECODE 사용시 주의사항


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



DECODE 사용시 주의사항


* 펼칠 컬럼이 너무 많을때는 먼저 GROUP BY 한 후 처리하라.
  


▶   select dept_no,
         sum(decode(substr(wk_dt,7,2),’01’,amt)) d1,
         sum(decode(substr(wk_dt,7,2),’02’,amt)) d2,
         sum(decode(substr(wk_dt,7,2),’03’,amt)) d3,
         sum(decode(substr(wk_dt,7,2),’04’,amt)) d2,
         ,,,
         sum(decode(substr(wk_dt,7,2),’31’,amt)) d31

▶   select dept_no,
         sum(decode(dd,’01’,amt)) d1,
         sum(decode(dd,’02’,amt)) d2,
         sum(decode(dd,’03’,amt)) d3,
         sum(decode(dd,’04’,amt)) d4, 
         ,,,,
         sum(decode(dd,’31’,amt)) d31
     from ( select dept_no, substr(wk_dt,7,2) dd, sum(amt) amt
            from tab1
            where wk_dt like ‘200401%’
          )
     group by dept_no


▶ COUNT, SUM의 비교
      ① sum(decode(col1,’A’,1,0))
      ② sum(decode(col1,’A’,1))
      ③ count(decode(col1,’A’,1,0))
      ④ count(decode(col1,’A’,1))
      ⑤ count(decode(col1,’A’,’C’))


 ①, ②, ④, ⑤ 는 동일하다.

 ③ 의 결과는 count(*) 과 동일하다.

 ①은 ②보다 불리하다(불필요한 0 연산)

 ②는 ④, ⑤ 보다 불리

 ④, ⑤ 는 동일하다.


 SUM은 COUNT에 비해 30~50% 불리함

 COUNT는 not null 인 경우에만 처리

 COUNT를 사용할 수 있다면 SUM을 사용하지 마라.



* DECODE


□ DECODE 함수와 CASE 문

DECODE 함수 내부에서 DECODE문을 사용하는 경우에는 성능저하 발생
 UNION ALL를 사용할 경우 동일 테이블에 대한 인덱스 스캔이나 테이블 스캔 반복발생으로 성능저하
 Concat(‘||’) 함수로 비교대상컬럼를 묶어서 DECODE 함수의 중복사용을 줄이고, CASE 문으로 비교하는 방식 추천

    (INDEX 주의)


 

SQL 기초 및 PLSQL 실무 강좌 자료] DECODE 사용시 주의사항


SQL 기초 및 PLSQL 실무 강좌 자료] DECODE 사용시 주의사항


 


실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.



DECODE 사용시 주의사항


* ELSE 없는 IF를 사용하라.
        select sum(decode(col1, 1, qty, 0)),…..
     → select sum(decode(col1, 1, qty)),…..


* 가능한 그룹함수내에서 nvl을 사용하지 마라
       select sum(decode(col1, 1, nvl(qty,0))),…  
   →  select nvl(sum(decode(col1, 1,qty)),0),…


* 가능한 반복해서 DECODE를 사용하지 마라
    
- 컬럼결합법
       select sum(decode(market,'D',
                      decode(type,'1',
                           decode(unit,'A',0.2 * col,
                                       'B',0.5 * col,…

    → select sum(decode(market || type || unit, 'D1A', 0.2,
                                                 'D1B', 0.5,…)) * col


- case문으로 대체 1

 

 

- case문으로 대체 2

 


- case문으로 대체 3

 


- case문으로 대체 4

 


 

+ Recent posts