1. 중복된 값 제거하고 출력
SELECT DISTINCT [컬럼명]
FROM [테이블명];
예) SELECT DISTINCT DEPTNO
FROM EMP;
2. 원하는 조건 출력하기
SELECT [컬럼명]
FROM [테이블명]
WHERE [조건];
예)
SELECT *
FROM EMP
WHERE SAL = 800;
SELECT *
FROM EMP
WHERE JOB ='영업직';
문자 조회할 때는 영어 대소문자를 구분하고 작은따옴표를 사용한다.
SELECT *
FROM EMP
WHERE hiredate ='80/12/17';
날짜 조회하기
3. 기본 산술 연산자 사용하기
위데이터 에서 연봉 구하기
SELECT NAME,PAY, PAY*12
FROM MYEMP
4. 다양한 연산자
연산자 종류 |
설명 |
= |
비교 대상에서 같은 조건을 검색 |
!=, <> |
비교 대상에서 같지 않은 조건을 검색 |
> |
비교 대상에서 큰 조건을 검색 |
>= |
비교 대상에서 크거나 같은 조건을 검색 |
< |
비교 대상에서 작은 조건을 검색 |
<= |
비교 대상에서 작거나 같은 조건을 검색 |
BETWEEN a AND b |
A와 B사이에 있는 범위 값을 모두 검색 |
IN(a,b,c) |
A이거나 B이거나 C인 조건을 검색 |
LIKE |
특정 패턴을 가지고 있는 조건을 검색 |
IS NULL/IS NOT NULL |
NULL 값을 검색 / NULL이 아닌 값을 검색 |
A AND B |
A 조건과 B 조건을 모두 만족하는 값만 검색 |
A OR B |
A 조건이나 B 조건 중 한 가지라도 만족하는 값을 검색 |
NOT A |
A가 아닌 조건을 검색 |
- BETWEEN 연산자로 PAY가 20000000 ~ 30000000 사이인 사람들의 이름과 PAY를 검색해보자.
SELECT NAME, PAY
FROM MYEMP
WHERE PAY BETWEEN 20000000 AND 30000000;
같은 결과로 AND 연산자로도 검색이 가능하다.
SELECT NAME, PAY
FROM MYEMP
WHERE PAY >= 20000000
AND PAY <= 30000000;
특정 구간의 값을 검색할 때 가급적 AND 연산자를 권장한다고 한다.
예)
- IN 연산자로 PAY가 20000000 이거나 30000000인 사람 찾기
SELECT NAME, PAY
FROM MYEMP
WHERE PAY IN(20000000,30000000);
예)
- LIKE 연산자로 이름이 'D'로 시작하는사람을 검색해보자.
SELECT NAME
FROM MYEMP
WHERE NAME LIKE 'D%';
5. 정렬하기 - ORDER BY
- 한글 : 가, 나, 다 ...
- 영어 : A, B, C ...
- 숫자 : 1, 2, 3 ...
- 날짜 : 오래된 날짜부터 최근 날짜로 정렬
예) PAY순으로 오름차순 정렬
SELECT * FROM MYEMP
ORDER BY PAY ASC;
예) PAY순으로 내림차순 정렬
SELECT * FROM MYEMP
ORDER BY PAY DESC;
'[개인공부] > Oracle' 카테고리의 다른 글
[Oracle]ORA-28014: 관리 사용자를 삭제할 수 없습니다. (0) | 2019.04.10 |
---|---|
[Oracle]연결 연산자 사용하기 (0) | 2019.04.10 |
[Oracle] sql스크립트문 실행하기 (0) | 2019.04.10 |
[Oracle]ORA-65096 : 공통 사용자 또는 롤 이름이 부적합합니다. (0) | 2019.04.10 |
[Oracle]user 생성, 권한주기 (0) | 2019.04.10 |