[Oracle] 연산자 종류, 연산자 우선순위, 문자열 합치기
- 데이터베이스/[Oracle]
- 2023. 7. 27.
연산자 종류
오라클에는 산술, 연결, 논리, 비교연산자 등이 존재하여 다양한 연산을 할 수 있다.
각각에 대해 알아보자.
산술연산자
유형 | 설명 |
() | 연산자 우선순위 변경 |
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
산술 연산자는 말 그대로 사칙연산을 포함한 산술을 할 수 있는 연산자이다.
주로 NUMBER / DATE 자료형에 적용한다. VARCHAR2 자료형에 숫자가 입력되어 있는 경우도 적용 가능하다.
예시
-- 결과 : 500
SELECT 100*10/2
FROM DUAL
-- 직원 평균연령 구하기
SELECT AGE/COUNT(*)
FROM EMPLOYEE;
연결 연산자
유형 | 설명 |
|| | 문자와 문자를 연결 |
CONCAT | 문자와 문자를 연결 |
연결 연산자는 문자와 문자를 연결할 때 사용한다.
'||'와 CONCAT을 사용할 수 있다.
예시
-- 나이 : 16
SELECT '나이 : ' || AGE AS "나이"
FROM EMPLOYEE
-- 전화번호 : 010-1234-5678
SELECT CONCAT('전화번호 : ', TLP_NO) AS "전화번호"
FROM EMPLOYEE
논리연산자
유형 | 설명 |
AND | 여러 조건이 모두 TRUE인 경우만 TRUE |
OR | 여러 조건 중 하나만 TRUE여도 TRUE |
NOT | 조건에 대한 반대 값 반환 |
논리 연산자는 여러 조건을 논리적으로 연결하는 데 사용한다.
예시
--21번 부서의 20살 이상인 직원의 이름
SELECT EMP_NAME
FROM EMPLOYEE
WHERE DEPT_ID = '21'
AND AGE > 20;
-- 21번 부서이거나 20살 이상인 직원의 이름
SELECT EMP_NAME
FROM EMPLOYEE
WHERE DEPT_ID = '21'
OR AGE >= 20
비교 연산자
유형 | 설명 |
= | 같다 |
>,< | 크다 / 작다 |
>= , <= | 크거나 같다 / 작거나 같다 |
<>, !=, ^= | 같지 않다 |
BETWEEN [1] AND [2] | [1] ~ [2] 사이에 포함되는지, [1]과 [2] 포함 |
LIKE / NOT LIKE | 문자 패턴 비교 |
IS NULL / IS NOT NULL | NULL 여부 비교 |
IN / NOT IN | 비교 값 목록에 포함되는지 여부 비교 |
비교 연산자는 표현식 사이의 관계를 비교하기 위해 사용된다.
비교 결과는 논리결과 TRUE, FALSE, NULL 중 하나가 된다.
이때 비교하는 컬럼값 혹은 표현식은 동일한 데이터 타입이어야 한다.
LIKE 와일드 카드
- % : 0개 이상의 어떤 문자
- _ : 1개의 단일 문자
예를 들어 LIKE '김%' 이면 '김오중', '김태희', '김경' 등 김으로 시작하는 어떠한 단어도 해당한다.
반면 LIKE '김_' 이면 '김경'처럼 김 이후 1개의 단일 문자만 있는 단어만 해당한다.
예시
1. BETWEEN [1] AND [2]
-- 20살 이상 30살 이하인 직원의 이름
SELECT EMP_NAME
FROM EMPLOYEE
WHERE AGE BETWEEN 20 AND 30
2. LIKE
-- 성이 '김'씨인 직원의 이름
SELECT EMP_NAME
FROM EMPLOYEE
WHERE EMP_NAME LIKE '김%'
3. IN
-- 20살, 24살, 26살 직원의 아이디
SELECT EMP_ID
FROM EMPLOYEE
WHERE AGE IN (20,24,26)
4. IS NULL
-- 주소가 NULL인 직원의 이름
SELECT EMP_NAME
FROM EMPLOYEE
WHERE ADDRESS IS NULL;
연산자 우선순위
우선순위 | 설명 |
0 | () |
1 | 산술 연산자(곱셈, 나눗셈이 덧셈 뺄셈 보다 먼저) |
2 | 연결 연산자 |
3 | 비교 연산자 |
4 | IS (NOT) NULL, (NOT) LIKE, (NOT) IN |
5 | (NOT) BETWEEN AND |
6 | 논리 연산자 - NOT |
7 | 논리 연산자 - AND |
8 | 논리 연산자 - OR |
반응형
'데이터베이스 > [Oracle]' 카테고리의 다른 글
[Oracle] 오라클 문자열 자르기 SUBSTR 함수 사용법, SUBSTR 뒤에서부터 자르기 (0) | 2023.07.27 |
---|---|
[Oracle] 오라클 문자열 길이 구하기 LENGTH, LENGTHB 함수 (0) | 2023.07.27 |
[Oracle] 오라클 테이블 수정(ALTER TABLE)하는 법, 오라클 컬럼 추가/변경/삭제하는 법 (0) | 2023.07.26 |
[Oracle] 오라클 테이블 삭제(DROP TABLE)하는 법, 제약조건 걸린 테이블 삭제하는 법 (0) | 2023.07.26 |
[Oracle] 오라클 테이블 생성하는 법 (CREATE TABLE), 기본키, 인덱스, 코멘트 설정 하는 법 (0) | 2023.07.25 |