IT정리노트

블로그 이미지

Edward. K

메멘토적 기억능력을 소유한 개발자 노트.

검색 건이 여러개일 경우 원하는 데이터를 뽑아오자.

DB/Oracle 2007. 11. 30. 14:24
반응형

/*
 * 검색 데이터중 복수개의 데이터가 검색될 경우.
 * 원하는 값만을 뺴오기 위한 쿼리.
 *  검색COLUM명 :  원하는 데이터 값
 *  검색TABLE명  : 테이블 명
 *  검색컬럼ALIAS_X : 검색데이터의 alias ( prepestatement 으로 세팅되는 값들)
 *  검색컬럼_X : 검색TABLE의 컬럴명
 *  정렬할컬럼명  : 원하는 (검색된 데이터들중 일정한 값을 지닌)컬럼
 */


SELECT 검색COLUM명     
FROM    
          (    
            SELECT   검색COLUM명
            FROM   
                          검색TABLE명  T,   
                          (   
                            SELECT ? AS 검색컬럼ALIAS_1,
                                        ? AS 검색컬럼ALIAS_2 ,
                                        ? AS 검색컬럼ALIAS_3 ,  
                                        ? AS 검색컬럼ALIAS_4,
                                        ? AS 검색컬럼ALIAS_5,
                                        ? AS 검색컬럼ALIAS_6  
                            FROM DUAL 
                          ) D    
            WHERE      NVL(T.검색컬럼_1,  '-') = NVL(D.검색컬럼ALIAS_1,  '-')  
                      AND NVL(T.검색컬럼_2,  '-') = NVL(D.검색컬럼ALIAS_2,  '-')   
                      AND NVL(T.검색컬럼_3,  '-') = NVL(D.검색컬럼ALIAS_3,  '-')  
                      AND NVL(T.검색컬럼_4,  '-') = NVL(D.검색컬럼ALIAS_4,  '-')  
                      AND NVL(T.검색컬럼_5,  '-') = NVL(D.검색컬럼ALIAS_5,  '-')  
                      AND NVL(T.검색컬럼_6,  '-') = NVL(D.검색컬럼ALIAS_6,  '-')  
            ORDER BY 정렬할컬럼명  DESC  
          )   
WHERE ROWNUM = 1  


NVL 함수는 NULL 값을 다른 값으로 대치시킬 때 쓰인다.

NVL( ex1, ex2 )

ex1 의 값이 NULL인 경우  : ex2   리턴.

ex2 의 값이 있다면 : ex1 리턴


[  특징 ]
 - NVL 함수는 이 두 개의 연산자를 비교하기 때문에 만약
    ex1이 ex2와 다른 종류의 데이터 타입을가지고 있다면,
   오라클은 ex2의 데이터 타입을 ex1의 데이터 타입으로 변환하려 리턴함
 

[ 실제 사용 예]
 - NULL 반환대신 특정 데이터가 필요할 경우에만 사용하며,
   공백(NULL)으로 처리할 경우는  코드 내에서 처리해주는 방식을 사용한다.
   이유는 간단하다...쿼리문에 NVL 함수를 사용하는 것은 쿼리가 지저분해 지기 때문에 -_-;
   퍼포먼스는 비슷할 것이라 보임..


반응형
Posted by Edward. K
블로그 이미지

메멘토적 기억능력을 소유한 개발자 노트.

by Edward. K

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • 사업 이야기
  • 캡쳐툴
  • 개한민국
  • 전자정부프레임워크
  • android
  • Jboss
  • eclipse plugin
  • 미네르바
  • toad
  • ERwin
  • 플래시 게임
  • tomcat
  • 색상코드표
  • rocketdock
  • 가상화폐무료
  • Flash Player
  • STS
  • Graphic
  • 이미지 편집
  • Eclipse
  • 이클립스
  • EditPlus
  • egov
  • 컴퓨터 관리
  • sqlgate
  • EkNote
  • iBATIS
  • netbeans
  • flex
  • 중독성게임

글 보관함

«   2026/01   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

링크

카테고리

분류 전체보기 (792)
행운이와함께 (1)
EkNote Project (18)
ARIS (0)
Android (2)
LINK (39)
UML (9)
Programming (154)
Cobol (0)
ASP (0)
CSS (5)
C_C++ (2)
IBatis (2)
JSP (3)
JAVA (76)
JavaScript (44)
PHP (2)
Utility (76)
Protable (3)
MobileProgram (4)
SKT (0)
KTF (0)
LGT (0)
자료들 (4)
DB (82)
mongoDB (0)
MySQL (8)
Oracle (61)
MSSQL (4)
Graphic (8)
Flash (3)
PhotoShop (3)
SourceFactory (4)
Collection (73)
작가의기막힌상상력 (14)
미소를찾아보는공간 (44)
내심장은작동중일까 (6)
멀더와스컬리의노트 (3)
이건어디에사용할까 (6)
Edward (275)
나만 알기엔 아까워 (100)
기억하기 위한 기록 (123)
시선이 머무는 공간 (50)
숨기고 싶은 이야기 (2)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
Edward. K's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

IT정리노트

메멘토적 기억능력을 소유한 개발자 노트.

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (792)
    • 행운이와함께 (1)
    • EkNote Project (18)
    • ARIS (0)
    • Android (2)
    • LINK (39)
    • UML (9)
    • Programming (154)
      • Cobol (0)
      • ASP (0)
      • CSS (5)
      • C_C++ (2)
      • IBatis (2)
      • JSP (3)
      • JAVA (76)
      • JavaScript (44)
      • PHP (2)
    • Utility (76)
      • Protable (3)
    • MobileProgram (4)
      • SKT (0)
      • KTF (0)
      • LGT (0)
      • 자료들 (4)
    • DB (82)
      • mongoDB (0)
      • MySQL (8)
      • Oracle (61)
      • MSSQL (4)
    • Graphic (8)
      • Flash (3)
      • PhotoShop (3)
    • SourceFactory (4)
    • Collection (73)
      • 작가의기막힌상상력 (14)
      • 미소를찾아보는공간 (44)
      • 내심장은작동중일까 (6)
      • 멀더와스컬리의노트 (3)
      • 이건어디에사용할까 (6)
    • Edward (275)
      • 나만 알기엔 아까워 (100)
      • 기억하기 위한 기록 (123)
      • 시선이 머무는 공간 (50)
      • 숨기고 싶은 이야기 (2)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바