728x90
반응형
특정 조건의 데이터 조회
SELECT *
FROM TABLE_NAME
WHERE 조건절;
1. 비교 연산자
연산자 | 의미 | 예제 |
= | 같다. | SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL= 500; |
> | 보다 크다. | SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL> 500; |
< | 보다 작다. | SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL< 500; |
>= | 보다 크거나 같다. | SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL>= 500; |
<= | 보다 작거나 같다. | SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL<= 500; |
<>, !=, ^= | 다르다. | SELECT DEPTNO, ENAME, SAL FROM EMP WHERE SAL<> 500; |
2. 연산자
논리 연산자 | 의미 | 조건1 | 조건2 | 결과 |
AND(&&) | 두 가지 조건을 모두 만족해야만 검색할 수 있습니다. SELECT * FROM EMP WHERE DEPTNO=20 AND JOB='과장'; |
참 참 거짓 거짓 |
참 거짓 참 거짓 |
참 거짓 거짓 거짓 |
OR(||) | 두 가지 조건 중에서 한 가지만 만족하더라도 검색할 수 있습니다. SELECT * FROM EMP WHERE DEPTNO=20 OR JOB='과장'; |
참 참 거짓 거짓 |
참 거짓 참 거짓 |
참 참 참 거짓 |
NOT(<>) | 조건에 만족하지 못하는 것만 검색합니다. SELECT * FROM EMP WHERE NOT DEPTNO=20; |
참 거짓 |
거짓 참 |
# BETWEEN AND 연산자
비교 연산자와 논리 연산자를 결합하여 표현
COLUMN_NAME BETWEEN A AND B
# IN 연산자
특정 필드의 값이 A거나, B거나, C 중에 어느 하나만 만족하더라도 출력
OR를 사용하여 복잡하고 쿼리문을 작성하지 않고 IN 연산자를 사용하여 훨씬 간단하게 표현
WHERE COLUMN_NAME (NOT) IN(A, B, C)
# LIKE 연산자와 와일드 카드
데이터의 정확한 값을 모를경우 일부만 일치하더라도 조회 가능
COLUMN_NAME LIKE PATTERN
LIKE 다음에는 PATTERN을 기술해야하는데, PATTERN에는 두 가지 와일드 카드 사용
% // 문자가 없거나, 하나 이상의 문자가 어떤 값이 와도 상관없다.
_ // 하나의 문자가 어떤 값이 와도 상관없다.
SELECT *
FROM EMP
WHERE ENAME LIKE '%금%'; // 앞과뒤에 어떤 문자열이 몇 개가 오든 상관없이 문자열 중간에 '성'이란 문자만 있으면 찾는다.
SELECT *
FROM EMP
WHERE ENAME LIKE '_금'; // 앞의 단 하나의 문자가 어떤 문자가 오든 두번째 문자가 '금'인 문자를 찾는다.
# NOT LIKE 연산자
SELECT *
FROM EMP
WHERE ENAME NOT LIKE '%금%'; // 문자열 중간에 '금'이 포함되지 않는 데이터를 검색한다.
# NULL인 값을 찾기 위한 IS NULL과 NULL이 아닌 값을 찾기 위한 IS NOT NULL 연산자
SELECT *
FROM EMP
WHERE COMM IS (NOT) NULL;
728x90
반응형
'Database > Oracle' 카테고리의 다른 글
Oracle。DUAL 테이블과 오라클 주요 함수 1 (0) | 2017.06.05 |
---|---|
Oracle。ORDER BY 절과 집합 연산자 (0) | 2017.06.03 |
Oracle。기본 사용법 (0) | 2017.06.01 |
Oracle。데이터 무결성과 제약 조건 (0) | 2017.05.31 |
Oracle。데이터 타입 (0) | 2017.05.30 |