Data Base

Oracle) 다양한 연산자 활용

5_jinseok12 2018. 4. 5. 15:09
728x90

수학과 마찬가지로 DataBase 에도 연산자를 사용한다

몇가지 예를 들자면

= : 비교대상에서 같은 조건

!=, <> : 비교대상에서 같지 않은 조건

> :  비교 대상에서 큰 조건

>= :  비교대상에서 크거나 같은 조건

< :  비교 대상에서 작은 조건

<= : 비교대상에서 작거나 같은 조건

is null  :  null 값을 검색

is not null : null이 아닌 값을 검색.. 등등 이 있다




NULL 연산자


emp 테이블에서 comm 에 대한 정보를 출력한다. 값이 있는것이 있고 없는것도 있다.

이때 값이 없는것만 출력하고 싶다면? 혹은 값이 있는것만 출력하고 싶다면?

그럴때 null을 사용한다

is null과 is not null은 값이 무엇인지 모를경우 사용한다.



보통 comm = " "  이런식으로 입력하지만

null같은 경우는 조금 다르다. null값은 '=' 를 사용할 수 없다

comm in null  : comm이 null 일때.



사용자에게 조건을 입력받아서 조건에 맞는 값 출력하기




where 절에서 사용될 조건을 사용자에게 입력받아서 사용하는 경우이다.

사용자로부터 comm(보너스)를 입력받아서 출력. 전의 값과 변경 후 값을 나타내준다

& 기호는 사용자에게 값을 입력받으라는 뜻이다.



&기호를 통해 외부(사용자)에서 값을 입력받는다.



비교 연산자


사원테이블에서 81년 1월 1일 이후에 입사한 사람의 날짜와 월급을 출력하라.

 


81년 순으로 입상한 사람의 급여를 내림차순으로 출력하라

ASC : 오름차순

DESC : 내림차순



20번 부서에 속하는 이름에 S가 들어가는 사람들을 출력하시오

LIKE : 패턴 비교 연산자

    문자에 대한 패턴 비교 연산자라서 ''를 사용한다

    문자 뿐만 아니라 숫자도 가능하다

% : 글자 수 제한이 없고(0개도 포함) 어떠한 글자가 와도 상관없다


%S : 어떤 글자가 S로 끝나는것.

%S% : S 를 포함하고 있는 것

'___S%' : 3번째 자리에 S가 있는 것

'__S' : 마지막 글자가 S 인것




집합 연산자 ( UNION ,UNION ALL 연산자 )


1) 두 집합의 SELECT 절에 오는 컬럼의 개수가 동일해야 한다

2) 두 집합의 SELECT 절에 오는 컬럼의 데이터 형이 동일해야 한다

3) 두 집합의 컬럼 명은 달라도 상관없다




UNION과 UNION ALL 연산자는 두 집합을 더해서 결과를 출력한다

UNION은 두 결과에서 중복된 값을 제거하고 정렬해서 출력

UNION ALL은 중복되는 값까지 전부 다 출력하고 정렬하지 않는다.



위의 사진은 두개의 SELECT 문장의 결과를 UNION 연산자를 사용해서 하나로 만들어서 출력.

STUDNO 컬럼이 정렬되어 출력된 것을 확인할 수 있다.



UNION ALL 을 입력하여 출력

STUDNO이 정렬되지 않은 것을 확인할 수 있다.






MINUS 연산자

큰 결과를 가진 SELECT 먼저 쓰고 MINUS쓰고 작은 결과를 가진 SELECT를 나중에 사용하면 된다

한가지 주의할 점은 마이너스 이기 때문에 SELECT 문장 쓰는 순서만 조심하면 된다



단일행 함수 : 하나의 컬럼을 넣어서 하나의 결과

복수행 함수 : 여러개의 컬럼을 넣어서 하나의 결과




반응형

'Data Base' 카테고리의 다른 글

Oracle) 단일행 Sub Query  (0) 2018.05.04
Oracle) MAX/MIN 함수, RANK 함수  (0) 2018.05.04
Oracle) DECODE 함수 , TO_CHAR 함수 , CASE문  (0) 2018.04.09
Oracle) INSTR,SUBSTR,REPLACE 함수  (0) 2018.04.08
Oracle) 기본 명령어  (0) 2018.04.05