Oracle 문법 정리 - 데이터 제한 및 정렬
◆데이터 제한 및 정렬
1) where
SELECT last_name, job_id, department_id FROM employees WHERE last_name = 'Whalen' ; |
2) 비교 연산자
특정 표현식을 다른 값이나 표현식과 비교하는 조건에서 사용
연산자 |
의미 |
= |
같음 |
> |
큼 |
>= |
크거나 같다 |
< |
작다 |
<= |
작거나 같다 |
between ~ and |
사이(=범위) |
in(,,,,) |
리스트 범위 |
like |
문자 패턴 검색 |
is null |
null의 여부 |
SELECT last_name, salary FROM employees WHERE salary <= 3000 ; |
3)between a and b (a와 b사이의 값)
SELECT last_name, salary FROM employees WHERE salary between 3000 and 5000; |
4)in (리스트 범위 제한)
select employee_id, last_name, salary, manager_id from employees where employee_id in (100,101,102); |
SELECT
LAST_NAME, JOB_ID FROM EMPLOYEES WHERE JOB_ID NOT IN('IT_PROG','ST_CLERK','SA_REP'); |
5)like
(a) r로 끝나는 문자
select first_name , last_name from employees where first_name like '%r'; -- 'r%'로 하게 되면 r로 시작하는 문자 |
(b)2번째 단어가 'o'인 문자
select last_name from employees where last_name like '_o%'; |
(c)문자열 안에서 _(언더바) 찾기
select last_name from emptest where last_name like '\_' ESCAPE '\'; -- escape 지정하기 \ 뒤에 붙은 _ 언더바는 문자 그대로의 언더바로 받음. |
6)And , Or
And : 구성 요소 조건이 모두 참인 경우
Or : 구성 요소 중 하나라도 참인 경우
not : 참이라면 거짓으로 바꾸고 거짓이라면 참으로 바꾸기
SELECT LAST_NAME, JOB_ID FROM EMPLOYEES WHERE JOB_ID NOT IN('IT_PROG','ST_CLERK','SA_REP'); |
7) 우선 순위 규칙
연산자 |
의미 |
1 |
산술 연산자 |
2 |
연결 연산자 |
3 |
비교 조건 |
4 |
is null, like, in |
5. |
between |
6 |
같지 않음 |
7 |
not |
8 |
and |
9 |
or |
8)order by a ( a기준으로 데이터 정렬하기)
desc : 내림차순
asc : 오름 차순(디폴트임 즉, desc나 asc라고 쓰지 않으면 자동으로 asc로 선택됨.)
SELECT last_name, job_id,department_id, hire_date FROM employees ORDER BY hire_date DESC; -- hire_date 를 기준으로 내림차순 정렬 |
9)치환 변수(&=앰퍼샌드)
변수 앞에 앰퍼샌드를 붙이면 유저가 값을 입력하도록 함.
SELECT employee_id, last_name, salary, department_id FROM employees WHERE employee_id = &employee_num ; |
10)define (미리 정의해둔 값)
&에 넣을 값을 미리 설정해놓는 것.
DEFINE employee_num = 200 SELECT employee_id, last_name, salary, department_id FROM employees WHERE employee_id = &employee_num ; UNDEFINE employee_num --undefine 꼭 해줘야 함. |