#연산자
| 종류 및 의미 | Java와의 비교 | 사용 예시 | |
| 산술연산자 | + , - , * , / 사칙연산 |
- %(나눈 나머지값) 없음 =>함수(MOD) 사용 - 정수/정수=>실수 - NULL이 들어간 연산은 결과값이 NULL |
- SELECT 10+3, 10*3, 10/3,10-3 FROM DUAL; =>13, 30, 3.3333333, 7 - NULL+10 =>NULL |
| 비교연산자 | = : 같다 !=, <>, ^= : 같지 않다 나머지 Java와 동일 |
- 같다 in Java 기본형: == 문자열: equals(), compare() |
- WHERE job!='CLERK'; - WHERE job<>'CLERK'; |
| 논리연산자 | AND OR |
&& : 스캐너 in Oracle || : 문자열결합 in Oracle |
|
| Oracle에만 있는 연산자 | |||
| ***부정은 NOT | 종류 및 의미 | 사용 예시 | |
| IS NULL IS NOT NULL |
NULL값 검색 NULL이 아닌값 검색 |
- 성과급(comm) 없는/있는 사원의 모든 정보 SELECT * FROM emp WHERE comm IS NULL; --없는 사원 SELECT * FROM emp WHERE comm IS NOT NULL; |
|
| IN |
여러 조건 동시에 검색 | deptno=10 OR deptno=20 OR deptno=30; = deptno IN(10,20,30) - 부서(deptno)가 10 or20 이 아닌 사원의 모든 정보 SELECT * FROM emp WHERE deptno NOT IN(10,20); |
|
| BETWEEN A AND B | >=A AND <=B와 동일 속도면에서 비교연산자 우세 |
sal>=100 && sal<=3000 = sal BETWEEN 100 AND 3000 ((100과 3000 포함!)) |
|
| LIKE ( % , _ ) |
원하는 문자가 포함된 문자열 검색 |
[ % ] : 아무 문자열 'A%': A로 시작하는 모든 문자열(cf. Java: startsWith() ) '%A': A로 끝나는 모든 문자열(cf. Java: endsWith() ) '%A%': A가 포함된 모든 문자열(cf. Java: contains() ) - 주소 중 신촌을 포함하고 있는 모든 주소 출력 SELECT * FROM zipcode WHERE dong LIKE '%신촌%'; [ _ ] : 한 자리 문자열 SELECT * FROM emp WHERE ename LIKE '_ _ _ _'; --4자 (=SELECT * FROM emp WHERE LENGTH(ename)=4;) --함수 |
|
#집합연산자
| UNION | 합집합 |
| UNION ALL | 합집합+교집합 |
| INTERSECT | 교집합 |
| MINUS | 차집합 |

'SQL(Oracle) > Oracle 이론 정리' 카테고리의 다른 글
| [Oracle] JOIN (0) | 2020.08.12 |
|---|---|
| [Oracle] 정규식 함수/그룹함수 (2) | 2020.08.10 |
| [Oracle] 단일행 함수 (1) | 2020.08.06 |
| [Oracle] SELECT / WHERE / GROUP BY / HAVING / ORDER BY (0) | 2020.08.05 |
| [Oracle] SQL 명령어/작성시 주의점/데이터형 (2) | 2020.08.04 |
댓글