2019. 6. 4. 00:08ㆍDB/오라클
WHERE 절을 사용하여 어떤 조건을 갖춘 칼럼(행)을 가져올 것인지 제한한다.
예)
select last_name, id_number
from students
where age >= 15;
☞ student 라는 table에서, age 컬럼의 값이 15 이상인 데이터가 있다면, 그것들에 대응하는, last_name과 id_number 컬럼을 가져오도록 하자.
select last_name, height, weight
from health_checkup
where last_name like 'A%' and height >= 150;
☞ health_checkup 이라는 table에서, 이름 컬럼값이 A로 시작하고 키 컬럼값이 150 이상인 데이터가 있다면, 그것들에 대응하는 last_name과 height, weight 컬럼을 가져오도록 하자.
WHERE 절 비교조건 (기본적인 비교 연산자 =, >, < 같은 것들은 생략합니다)
연산자 | 의미 |
BETWEEN AND ↔ NOT BETWEEN AND |
select last_name, salary from employees where salary between 2500 and 3500; ☞ employees 라는 table에서 급여가 2500, 3500 사이인 자들의 last_name과 salary를 보여다오.
|
IN ( ) ↔ NOT IN |
select employee_id, last_name, manager_id from employees where manager_id in (100, 101, 201); ☞ employees라는 table에서 manager_id가 100 또는 101 또는 201 인 자들의 employee_id, last_name, manager_id를 보여다오. |
LIKE |
유효한 문자열을 검색하는 연산자.
select first_name from employees where first_name like 'S%'; ☞ employees 라는 table에서 first_name이 S로 시작하는 자들의 first_name을 보여다오.
글자 뒤에 % (퍼센트)를 쓰면 그 글자 뒤에 다른 문자가 여러개 있을수도 있고 아예 없을수도 있다는 뜻임. _ (언더바) 는 문자 한개를 뜻함.
예를 들어 Alice 라는 이름은 name like _ _ _ c _ 라든지 name like _ l % 라는 식의 조건으로 찾을 수 있다. |
IS NULL ↔ IS NOT NULL |
WHERE절 우선순위 규칙
계산순서 | 연산자 |
1 | 산술연산자 |
2 | 연결연산자 || |
3 | 비교 조건 |
4 | IS NULL, IS NOT NULL, LIKE, IN, NOT IN |
5 | BETWEEN, NOT BETWEEN |
6 | NOT 논리조건 |
7 | AND 논리조건 |
8 | OR 논리조건 |
괄호를 사용하여 우선순위 규칙을 무시하고 우선순위를 변경할 수 있다. |
'DB > 오라클' 카테고리의 다른 글
오라클 연결연산자와 리터럴 문자열 (1) | 2019.06.28 |
---|---|
오라클 널 값 null (0) | 2019.06.28 |
오라클 단일행 함수 NVL, NVL2, NULLIF, COALSECE, CASE, DECODE, CONCAT (1) | 2019.06.05 |
SQL SELECT문의 기능 (0) | 2019.06.03 |
오라클 SQL문 종류 (0) | 2019.06.03 |