본문 바로가기
국비 과정/Oracle DataBase

국비 - 0823 ( 와일드카드 , NULL , ORDER BY)

by 코딩호야 2022. 8. 23.

BETWEEN ~ AND

하나의 컬럼의 값이 범위 내에 속하는지 알아보기 위한 연산자이다.
숫자형, 문자형, 날짜형에 사용 가능하다.

Q ] 급여가 2000~3000 사이의 사원을 검색하는 쿼리문
A ] select * from emp where sal BETWEEN 2000 AND 3000;

 

와일드 카드 
 
 %  : 문자가 없거나 하나이상의 문자에 어떤 문자가 와도 상관 없습니다.

 _  : 하나의 문자에 어떤 값이 와도 상관 없습니다.

  LIKE 연산자는 검색하려는 값을 정확히 모를 경우에도 
 검색할수 있도록 와일드 카드와 함께 사용하여 결과를 얻습니다.

 

 Q ] 이름에 'A' 을 갖고있는 사원들을 출력
 A ] select * from emp where ename LIKE '%A%';

%A% 를 써주면 A가 이름에 있는 모든사원이 출력된다

A%    => 첫글자가 A인것 출력

%A    => 마지막 글자가 A인것 출력

__A%  ( 앞에 언더바 2개 )        =>  3번째 글자가 A 이고 그뒤 글자수 제한 없이 출력

__A_ (A앞에 언더바 2개 뒤에 1개 )  => 3번째 글자가 A이고 총글자수 4개인것 출력

                                                                                    ( 언더바갯수 3 + A개수 1  = 4개)

_____ ( 언더바 5개)    =>  5글자 인것을 출력

 

 

 NULL 의 정의

 0(zero) 아님
 빈공간 아님
 미확정(해당사항 없음) , 알수 없는 (nuknown) 값을 의미
 어떤 값인지 알수 없지만 값은 존재함
 ? 혹은 oo(무한대)을 의미
 연산, 할당, 비교가 불가능
 오라클에서는 컬럼 NULL 값이 저장되는 것을 허용한다.

 IS NULL / IS NOT NULL

 임의의 컬럼이 NULL 인지 아닌지를 비교/검색 한다.
 특정 컬럼값이 NULL 값인지를 비교할 경우 IS 연산자를 사용한다.

 

 Q ] 커미션을 받는 사람
 A ] select * from emp where comm IS NOT NULL;

 맨아래 커미션 0 은 커미션을 받지만 일을못해서 커미션을 못받은 사람이다.

그러므로 NULL값이 아니니까 출력이 된다.

 

 

 Concatenation 연산자 사용



 select 다음에 2개 이상의 컬럼이 올경우 이들을 ',' 로 연결하지만
 영어 문장 처럼 보이게 하기위해 Concatenation 연산자를 사용합니다.

 =>  ||

select ename || ' is a ' || job from emp;

위처럼 영어 문장처럼 사용가능하다.

 

 

 DISTINCT 

 동일한 값들이 중복되어 출력되지 않도록 하기 위해 사용하는 키워드

 

 

 ORDER  BY 절 ( 정렬 )

 형식


 SELECT                * 
 FROM                 table_name
 WHERE                 조건
 ORDER BY         컬럼명 | 정렬방식


                 ASC(오름차순)                              DESC(내림차순)

숫자          작은 값 부터 정렬                           큰 값 부터 정렬

문자          사전 순서로 정렬                            사전 역순서로 정렬

날짜           빠른 날짜 순서로 정렬                  늦은 날짜 순서로 정렬

NULL          가장 마지막에 나옴                       가장 먼저 나옴

로우를 정렬하려면 SELECT 문에 ORDER BY 절을 추가해야한다.





 

'국비 과정 > Oracle DataBase' 카테고리의 다른 글

국비 - 0824 ( 숫자 함수 , 문자 함수 , 날짜 함수)  (0) 2022.08.24
DB - 0824 예제  (0) 2022.08.24
DB - 0823 예제  (2) 2022.08.23
DB - 0822 예제  (0) 2022.08.22
국비 - 0822 (scott / tiger )  (0) 2022.08.22