데이터베이스/Oracle

Oracle - 연결 연산자 / 논리 연산자 / 비교 연산자

Cuvely 2020. 11. 6. 17:46
728x90
반응형

연결 연산자

연결 연산자란 ‘||’ (키보드 shift +  달러표시)를 사용하여 여러 컬럼을

하나의 컬럼인 것처럼 연결하거나 컬럼과 리터럴을 연결한다.

연결 연산자를 사용해야할 방법이 2가지가있다.

 

1. 컬럼과 컬럼을 연결한 경우

- 컬럼명1과 컬럼명2 사이에 || 를 입력한다.

 

2. 컬럼과 리터럴을 연결한 경우

- 컬럼명과 리터럴 사이에 || 를 입력한다.

 

[ 연결연산자 예시 ]

 

컬럼과 컬럼을 연결한 경우

SELECT EMP_ID || EMP_NAME || SALARY
FROM EMPLOYEE;

 

컬럼과 리터럴을 연결한 경우

SELECT EMP_NAME || '의 월급은 ' || SALARY || '원 입니다.'
FROM EMPLOYEE;

 

 

논리 연산자

논리연산자란 여러 개의 제한 조건 결과를 하나의 논리 결과로 만들어준다.

 

3가지의 논리연산자

1. AND

2. OR

3. NOT

 

 

[ AND 연산 결과 ]

위와 사진같이 동시에 TRUE일 경우에만 TRUE값을 반환한다.

 

 

[ OR 연산 결과 ]

위와 사진같이 어느 하나의 값이 TRUE일 때 TRUE값을 반환한다.

 

 

비교 연산자

비교 연산자란 표현식 사이의 관계를 비교하기 위해 사용한다.

비교 결과는 논리 결과(TRUE/FALSE/NULL) 중 하나가 된다.

단 비교하는 두 컬럼 값/표현식은 서로 동일한 데이터 타입이어야 한다.

 

 

[ 주요 비교연산자 ]

 

 

 

[ 비교연산자 예시 ]

BETWEEN AND를 사용하는 예시

 

급여를 3500000보다 많이 받고 6000000보다 적게 받는 직원 이름과 급여 조회 

SELECT EMP_NAME, SALARY
FROM EMPLOYEE
WHERE SALARY >= 3500000 AND SALARY <= 6000000;

 

LIKE를 사용하는 예시

비교하려는 값이 지정한 특정 패턴을 만족하면 TRUE리턴하는 연산자이다.

%’와 ‘_’를 와일드카드로 사용한다.

 

‘전‘씨 성을 가진 직원 이름과 급여 조회

SELECT EMP_NAME, SALARY
FROM EMPLOYEE
WHERE EMP_NAME LIKE ‘전%’;

 

NOT LIKE를 사용하는 예시

LIKE부정을 의미하는 NOT이 들어가 비교하려는 값이 

지정한 특정 패턴을 만족하면 TRUE 리턴하는 연산자이다.

 

'이'씨 성이 아닌 직원 사번, 이름, 이메일 조회

SELECT EMP_ID, EMP_NAME, EMAIL
FROM EMPLOYEE
WHERE EMP_NAME NOT LIKE '이%';

또는

SELECT EMP_ID, EMP_NAME, EMAIL
FROM EMPLOYEE
WHERE NOT EMP_NAME LIKE '이%';

 

IS NULL을 사용하는 예시

NULL이 존재하는지 확인하는 비교 연산자이다.

 

- 관리자도 없고 부서 배치도 받지 않은 직원 조회

SELECT EMP_NAME, MANAGER_ID, DEPT_CODE
FROM EMPLOYEE
WHERE MANAGER_ID IS NULL AND DEPT_CODE IS NULL;

 

IS NOT NULL을 사용하는 예시

NULL이 존재하지 않는지 확인하는 비교 연산자이다.

 

- 부서 배치를 받지 않았지만 보너스를 지급받는 직원 조회

SELECT EMP_NAME, BONUS, DEPT_CODE
FROM EMPLOYEE
WHERE DEPT_CODE IS NULL AND BONUS IS NOT NULL;

 

IN을 사용하는 예시

비교하려는 값 목록에 일치하는 값이 있으면 TRUE를 반환하는 연산자이다.

 

- D6 부서와 D8 부서원들의 이름, 부서코드, 급여 조회

SELECT EMP_NAME, DEPT_CODE, SALARY
FROM EMPLOYEE
WHERE DEPT_CODE IN ('D6', 'D8');

 

 

연산자 우선순위

연산자들의 우선순위는 이러하다.

728x90
반응형